راسخون

تاپیک جامع نکات در سی شارپ

siryahya کاربر طلایی1
|
تعداد پست ها : 158652
|
تاریخ عضویت : اسفند 1389 
بستن فرم برنامه با استفاده از دکمه 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();
}
siryahya کاربر طلایی1
|
تعداد پست ها : 158652
|
تاریخ عضویت : اسفند 1389 
بدست آوردن تک تک مقادیر از یک رشته
کد:
private void GetItemsFromDelimitedString()
{
    string delimitedInfo = "100,200,400,3,67";
    string[] discreteInfo = delimitedInfo.Split(new char[] { ',' });
    foreach (string Data in discreteInfo)
        MessageBox.Show(Data);
}
siryahya کاربر طلایی1
|
تعداد پست ها : 158652
|
تاریخ عضویت : اسفند 1389 
تعریف کلید میانبر در سی شارپ
کد:
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();
           }
   }
}
siryahya کاربر طلایی1
|
تعداد پست ها : 158652
|
تاریخ عضویت : اسفند 1389 
گردش در میان عناصر آرایه های چند بعدی
کد:
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 + " ");
           }
       }
   }
siryahya کاربر طلایی1
|
تعداد پست ها : 158652
|
تاریخ عضویت : اسفند 1389 
غیرفعال کردن آیکن بستن ویندوز فرم
کد:
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;
 
    }
 
}

 

siryahya کاربر طلایی1
|
تعداد پست ها : 158652
|
تاریخ عضویت : اسفند 1389 
شفاف کردن پشت زمینه کنترلها
شفافیت کامل پشت زمینه ی یک کنترل :
کد:
control.BackColor = Color.Transparent;
تعیین میزان شفافیت یک کنترل:
کد:
control.BackColor = Color.FromArgb(trancparency, control.BackColor);
 

 

siryahya کاربر طلایی1
|
تعداد پست ها : 158652
|
تاریخ عضویت : اسفند 1389 
تبدیل اعداد وارد شده به فارسی در سی شارپ
این کد رو باید در رویداد 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()));
}
 
siryahya کاربر طلایی1
|
تعداد پست ها : 158652
|
تاریخ عضویت : اسفند 1389 
قفل کردن سیستم از طریق کدنویسی
با این API می تونید قفل کنید
 
کد:
[DllImport("user32.dll")]
public static extern void LockWorkStation()
 
// Lock workstation
LockWorkStation();

 

siryahya کاربر طلایی1
|
تعداد پست ها : 158652
|
تاریخ عضویت : اسفند 1389 
افزودن و حذف کردن یک برنامه به 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);

 

siryahya کاربر طلایی1
|
تعداد پست ها : 158652
|
تاریخ عضویت : اسفند 1389 
حذف عناصر دلخواه از آرایه
با استفاده از دستور 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();
   }
}

 

siryahya کاربر طلایی1
|
تعداد پست ها : 158652
|
تاریخ عضویت : اسفند 1389 
پاک کردن خاصیت 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);
}

 

siryahya کاربر طلایی1
|
تعداد پست ها : 158652
|
تاریخ عضویت : اسفند 1389 
جابجا کردن فرم با کلیک بر روی هر قسمت از آن - بدون استفاده از توابع 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;
}

 

siryahya کاربر طلایی1
|
تعداد پست ها : 158652
|
تاریخ عضویت : اسفند 1389 
بدست آوردن مسیر فولدرهای ویژه
کد:
string path = Environment.GetFolderPath(Environment.SpecialFolde  r.ProgramFiles);
 

 

siryahya کاربر طلایی1
|
تعداد پست ها : 158652
|
تاریخ عضویت : اسفند 1389 
تابعی برای بررسی صحت ایمیل
کد:
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;
}

 

siryahya کاربر طلایی1
|
تعداد پست ها : 158652
|
تاریخ عضویت : اسفند 1389 
ايجاد رشته اي تصادفي از اعداد با طول مشخص
کد:
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();
}