تاپیک جامع نکات در سی شارپ
تغییر رنگ محیط کنسول در سی شارپ
برای تغییر رنگ محیط کنسول میتوانید از دو خاصیت ForegroundColor (رنگ فونت) و BackgroundColor (رنگ پس زمینه) کلاس کنسول استفاده کنید :
کد:
using System;
namespace changecolor
{
class Program
{
static void Main(string[] args)
{
Console.ForegroundColor = ConsoleColor.Yellow;
Console.BackgroundColor = ConsoleColor.DarkBlue;
Console.Clear();
Console.WriteLine("Press any key to reset color.");
Console.ReadKey(true);
Console.ResetColor();
Console.Clear();
}
}
}
غیر فعال کردن راست کلیک در TextBox
در رویداد Load فرم بنویسید :
کد:
private void Form1_Load(object sender, EventArgs e)
{
textBox1.ContextMenu = new ContextMenu();
}
تغییر بزرگی و کوچکی حروف یک رشته
با استفاده از متدهای ToUpper و ToLowerمی توان حروف رشته را بزرگ یا کوچک کرد.
کد:
string lowercase = "abc";
string uppercase = "ABC";
Console.WriteLine("lowercase.ToUpper() = " + lowercase.ToUpper());
Console.WriteLine("uppercase.ToLower() = " + uppercase.ToLower());
پاک کردن یک رکورد در هنگام اتصال به دیتابیس با کدنویسی
کد:
private void button1_Click(object sender, EventArgs e)
{
SqlConnection connection = new SqlConnection();
SqlCommand command = new SqlCommand();
connection.ConnectionString = @"Data Source=.SQLEXPRESS;" +
"Initial Catalog=University;Integrated Security=SSPI";
command.Connection = connection;
command.CommandText = "DELETE FROM Students WHERE StudentID=@StudentID";
command.Parameters.AddWithValue("@StudentID", studentIdTextBox.Text);
try
{
connection.Open();
int result = command.ExecuteNonQuery();
if (result > 0)
MessageBox.Show("Student was removed!");
else
MessageBox.Show("Can't find student.");
}
catch (SqlException ex)
{
MessageBox.Show("An error has occured.");
}
finally
{
connection.Close();
}
}
شمارش تعداد خطوط textBox
کد:
using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)]
static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);
const uint EM_GETLINECOUNT = 0xBA;
IntPtr wp = IntPtr.Zero;
IntPtr lp = IntPtr.Zero;
private void button1_Click(object sender, EventArgs e)
{
IntPtr lines = SendMessage(textBox1.Handle, EM_GETLINECOUNT, wp, lp);
MessageBox.Show(lines.ToInt32().ToString());
}
}
}
استفاده از فونت در سی شارپ
ایجاد شی فونت
کد:
Font myFont = new Font("Times New Roman", 12);
کد:
FontFamily family = new FontFamily("Arial");
Font myFont = new Font(family, 12);
کد:
Font myFont = new Font("Verdana", 14, FontStyle.Bold);
پر کردن لیست باکس با رنگ های سیستمی
کد:
private void Form1_Load(object sender, EventArgs e)
{
string[] colorNames;
colorNames = System.Enum.GetNames(typeof(KnownColor));
listBox1.Items.AddRange(colorNames);
}
استفاده از Place Holder ها در کار با رشته ها
کد:
string result = string.Format("{0}+{1}={2}", a, b, a + b);
استفاده از Place Holder ها خوانایی برنامه را بیشتر می کند
بدست آوردن میزان فضای خالی یک درایو
کد:
using System.Management;
کد:
public double GetHDDFreeSpace(string drive)
{
//check to see if the user provided a drive letter
//if not default it to "C"
if (drive == "" || drive == null)
{
drive = "C";
}
//create our ManagementObject, passing it the drive letter to the
//DevideID using WQL
ManagementObject disk = new ManagementObject("Win32_LogicalDisk.DeviceID=\"" + drive + ":\"");
//bind our management object
disk.Get();
//return the free space amount
return Convert.ToDouble(disk["FreeSpace"]);
}
بازکردن یک فایل موجود برای نوشتن در انتهای آن
کد:
FileStream fileStream = new FileStream(@"c:\file.txt", FileMode.Append);
بازکردن یک فایل موجود برای خواندن و نوشتن
کد:
FileStream fileStream = new FileStream(@"c:\file.txt", FileMode.Open);
اضافه و جدا کردن نام فایل از مسیر کامل
کد:
string filename = @"..\..\myfile.txt";
string fullPath = @"c:\Temp";
string filename = Path.GetFileName(filename);
string fullPath = Path.Combine(fullPath, filename);
// (fullPath is now "c:\Temp\myfile.txt")
معکوس کردن عملکرد دکمه های جهت نما روی یک TextBox
کد:
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
switch (e.KeyCode)
{
case Keys.Left:
e.Handled = true;
if (textBox1.SelectionStart <= textBox1.Text.Length - 1)
textBox1.SelectionStart++;
break;
case Keys.Right:
e.Handled = true;
if (textBox1.SelectionStart >= 1)
textBox1.SelectionStart--;
break;
}
}
CompareOrdinal
کد:
string s1 = "aLI";
string s2 = "aLI";
Console.WriteLine(string .CompareOrdinal(s1, s2));
Concat
کد:
string s1 = "aLI";
string s2 = "aLI";
Console.WriteLine(string .Concat(s1, s2));
خاصیت SuppressKeyPress
در کد زیر کاربر نمی تواند هیچ کاراکتر و یا یا نشانه ای را وارد کند
کد:
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (!(e.KeyCode >= Keys.D0 && e.KeyCode <= Keys.D9 && !e.Shift))
{
e.SuppressKeyPress = true;
}
}
یافتن شماره سریال و مدل تمامی هارددیسکهای موجود در یک سیستم
کد:
using System.Management;
private void GetHDDSerialNumber()
{
ManagementObjectSearcher searcher;
string query1 = "SELECT * FROM Win32_DiskDrive";
string query2 = "SELECT * FROM Win32_PhysicalMedia";
searcher = new ManagementObjectSearcher(query1);
foreach (ManagementObject wmi_HD in searcher.Get())
if (wmi_HD["Model"] != null)
MessageBox.Show(wmi_HD["Model"].ToString());
searcher = new ManagementObjectSearcher(query2);
foreach (ManagementObject wmi_HD in searcher.Get())
if (wmi_HD["SerialNumber"] != null)
MessageBox.Show(wmi_HD["SerialNumber"].ToString());
}