تاپیک جامع نکات در سی شارپ
بستن فرم برنامه با استفاده از دکمه esc
کد:
private Button escape;
private void Form1_Load(object sender, EventArgs e)
{
this.escape = new Button();
this.escape.Click += new EventHandler(this.escape_Click);
this.CancelButton = this.escape;
}
private void escape_Click(object sender, EventArgs e)
{
this.Close();
}
بدست آوردن تک تک مقادیر از یک رشته
کد:
private void GetItemsFromDelimitedString()
{
string delimitedInfo = "100,200,400,3,67";
string[] discreteInfo = delimitedInfo.Split(new char[] { ',' });
foreach (string Data in discreteInfo)
MessageBox.Show(Data);
}
تعریف کلید میانبر در سی شارپ
کد:
public partial class Form Form
{
public Form1() {
InitializeComponent();
this.KeyPreview = true;
this.KeyUp += new KeyEventHandler(Form1_KeyUp);
}
void Form1_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.F5)
{
Form5 frm = new Form5();
frm.ShowDialog();
}
}
}
گردش در میان عناصر آرایه های چند بعدی
کد:
using System;
public class Program
{
public static void Main()
{
int[,] numbers = { { 1, 2, 3, 4, 5 },
{ 6, 7, 8, 9, 10 },
{ 11, 12, 13, 14, 15 }
};
foreach (int number in numbers)
{
Console.Write(number + " ");
}
}
}
غیرفعال کردن آیکن بستن ویندوز فرم
کد:
private const int CP_NOCLOSE_BUTTON = 0x200;
protected override CreateParams CreateParams
{
get
{
CreateParams myCp = base.CreateParams;
myCp.ClassStyle = myCp.ClassStyle | CP_NOCLOSE_BUTTON;
return myCp;
}
}
شفاف کردن پشت زمینه کنترلها
شفافیت کامل پشت زمینه ی یک کنترل :
کد:
control.BackColor = Color.Transparent;
تعیین میزان شفافیت یک کنترل:
کد:
control.BackColor = Color.FromArgb(trancparency, control.BackColor);
تبدیل اعداد وارد شده به فارسی در سی شارپ
این کد رو باید در رویداد KeyPress بنویسید
کد:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if ((int)e.KeyChar >= 48 && (int)e.KeyChar < 58)
e.KeyChar = (char)(1632 + int.Parse(e.KeyChar.ToString()));
}
قفل کردن سیستم از طریق کدنویسی
با این API می تونید قفل کنید
کد:
[DllImport("user32.dll")]
public static extern void LockWorkStation()
// Lock workstation
LockWorkStation();
افزودن و حذف کردن یک برنامه به StartUp ویندوز از طریق رجیستری
کد:
using Microsoft.Win32;
private void AddStartUpKey(string _name, string _path)
{
RegistryKey key = Registry.LocalMachine.OpenSubKey
(@"Software\Micros oft\Windows\CurrentVersion\Run", true);
key.SetValue(_name, _path);
}
_name)
{
RegistryKey key = Registry.Lo
private void RemoveStartUpKey(strin
gcalMachine.OpenSubKey(@"Software\Micros oft\Windows\CurrentVersion\Run", true);
key.DeleteValue(_name, false);
حذف عناصر دلخواه از آرایه
با استفاده از دستور Array.Clear میتونید هر اندیس از آرایه رو پاک کنید فقط کلاس ArrayClear رو ایجاد کنید
کد:
using System;
class ArrayClear
{
public static void Main()
{
int[] integers = { 1, 2, 3, 4, 5 };
DumpArray("Before: ", integers);
Array.Clear(integers, 1, 3);
DumpArray("After: ", integers);
}
public static void DumpArray(string title, int[] a)
{
Console.Write (title);
for (int i = 0; i < a.Length; i++ )
{
Console.Write("[{0}]: {1, -5}", i, a[i]);
}
Console.WriteLine();
}
}
پاک کردن خاصیت Text کنترلهای موجود در یک Container بصورت بازگشتی
کد:
public void ClearControls(Control _parent)
{
if (!_parent.HasChildren)
_parent.Text = "";
foreach (Control ct in _parent.Controls)
ClearControls(ct);
}
private void button1_Click(object sender, EventArgs e)
{
ClearControls(this);
}
جابجا کردن فرم با کلیک بر روی هر قسمت از آن - بدون استفاده از توابع api
کد:
private bool dragging;
private Point pointClicked;
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
dragging = true;
pointClicked = new Point(e.X, e.Y);
}
else
{
dragging = false;
}
}
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (dragging)
{
Point pointMoveTo;
pointMoveTo = this.PointToScreen(new Point(e.X, e.Y));
pointMoveTo.Offset(-pointClicked.X, -pointClicked.Y);
this.Location = pointMoveTo;
}
}
private void Form1_MouseUp(object sender, MouseEventArgs e)
{
dragging = false;
}
بدست آوردن مسیر فولدرهای ویژه
کد:
string path = Environment.GetFolderPath(Environment.SpecialFolde r.ProgramFiles);
تابعی برای بررسی صحت ایمیل
کد:
using System.Text.RegularExpressions;
public bool TestEmailRegex(string emailAddress)
{
string patternStrict = @"^(([^<>()[\]\\.,;:\s@\""]+"
+ @"(\.[^<>()[\]\\.,;:\s@\""]+)*)|(\"".+\""))@"
+ @"((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"
+ @"\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+"
+ @"[a-zA-Z]{2,}))$";
Regex reStrict = new Regex(patternStrict);
bool isStrictMatch = reStrict.IsMatch(emailAddress);
return isStrictMatch;
}
ايجاد رشته اي تصادفي از اعداد با طول مشخص
کد:
private string GenerateRandomString(int size)
{
Random r = new Random();
string legalChars = "1234567890";
StringBuilder sb = new StringBuilder();
for (int i = 0; i < size; i++)
sb.Append(legalChars.Substring(r.Next(0, legalChars.Length - 1), 1));
return sb.ToString();
}