صفحه 12 از 14 اولاول ... 21011121314 آخرآخر
نمایش نتایج 441 تا 480 از 533

نام تاپیک: 1001 نکته در سی شارپ

  1. #441

    چک صحیح بودن پسورد از4الی12 در برنامه ویندوزاپلیکشن

    private void txtPass_TextChanged(object sender, EventArgs e)
    {
    System.Text.RegularExpressions.Regex regex;
    regex = new System.Text.RegularExpressions.Regex(@"^[a-zA-Z]\w{3,12}$");
    Control ctrl = (Control)sender;
    if (regex.IsMatch(ctrl.Text))
    {
    errorProvider1.SetError(ctrl, "");
    }
    else
    {
    errorProvider1.SetError(ctrl, "Not a valid Password.");
    }
    }

  2. #442
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: چک صحیح بودن پسورد از4الی12 در برنامه ویندوزاپلیکشن

    نقل قول نوشته شده توسط Iran58 مشاهده تاپیک
    private void txtPass_TextChanged(object sender, EventArgs e)
    {
    System.Text.RegularExpressions.Regex regex;
    regex = new System.Text.RegularExpressions.Regex(@"^[a-zA-Z]\w{3,12}$");
    Control ctrl = (Control)sender;
    if (regex.IsMatch(ctrl.Text))
    {
    errorProvider1.SetError(ctrl, "");
    }
    else
    {
    errorProvider1.SetError(ctrl, "Not a valid Password.");
    }
    }
    من یه مدتی دنبال همین برای email میگشتم.
    این هم از طرف من اینجا باشه.
    فقط باید تمام کامنت های email با whitespace عوض بشن.


    (?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t]
    )+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:
    \r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(
    ?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[
    \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\0
    31]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\
    ](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+
    (?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:
    (?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z
    |(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)
    ?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\
    r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[
    \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)
    ?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t]
    )*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[
    \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*
    )(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t]
    )+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)
    *:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+
    |\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r
    \n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:
    \r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t
    ]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031
    ]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](
    ?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?
    :(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?
    :\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?
    :(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?
    [ \t]))*"(?:(?:\r\n)?[ \t])*)*:(?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\]
    \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|
    \\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>
    @,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"
    (?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t]
    )*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\
    ".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?
    :[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[
    \]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-
    \031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(
    ?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;
    :\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([
    ^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\"
    .\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\
    ]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\
    [\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\
    r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\]
    \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]
    |\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \0
    00-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\
    .|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,
    ;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?
    :[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*
    (?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".
    \[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[
    ^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]
    ]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)(?:,\s*(
    ?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\
    ".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(
    ?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[
    \["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t
    ])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t
    ])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?
    :\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|
    \Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:
    [^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\
    ]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)
    ?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["
    ()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)
    ?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>
    @,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[
    \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,
    ;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t]
    )*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\
    ".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?
    (?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".
    \[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:
    \r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\[
    "()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])
    *))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])
    +|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\
    .(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z
    |(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(
    ?:\r\n)?[ \t])*))*)?;\s*)



    این لینک ۱:http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html
    این هم لینک ۲:http://www.ietf.org/rfc/rfc0822.txt?number=822

  3. #443
    کاربر دائمی آواتار ایمان مدائنی
    تاریخ عضویت
    آذر 1386
    محل زندگی
    تهران
    پست
    1,463

    نقل قول: 1001 نکته در سی شارپ

    براي اينكه بتونيم با زدن اينتر فوكوس رو تغير بديم از كد زير استفاده مي كنيم

    private void textbox1_KeyDown(object sender, KeyEventArgs e)
    {
    if (e.KeyCode == Keys.Enter)
    {
    SendKeys.Send("{TAB}");
    }
    }



    آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 27 خرداد 1394 در 03:28 صبح

  4. #444
    کاربر دائمی آواتار ایمان مدائنی
    تاریخ عضویت
    آذر 1386
    محل زندگی
    تهران
    پست
    1,463

    نقل قول: 1001 نکته در سی شارپ

    براي باز كردن ماشين حساب ويندوز از طريق كد ، از كد زير استفاده مي كنيم :
    System.Diagnostics.Process.Start("calc");


    آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 27 خرداد 1394 در 03:29 صبح

  5. #445
    کاربر دائمی آواتار ایمان مدائنی
    تاریخ عضویت
    آذر 1386
    محل زندگی
    تهران
    پست
    1,463

    نقل قول: 1001 نکته در سی شارپ

    براي اينكه كاربر نتونه بازدن alt+f4 فرم رو ببنده از كد زير استفاده مي كنيم :

    private void form1_KeyDown(object sender, KeyEventArgs e)
    {
    if (e.Alt && e.KeyCode == Keys.F4)
    {
    e.SuppressKeyPress = true;
    }
    }
    آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 27 خرداد 1394 در 03:30 صبح

  6. #446
    کاربر دائمی آواتار Esmail Solhkhah
    تاریخ عضویت
    مهر 1385
    محل زندگی
    بورکینافاسو
    پست
    1,774

    Wink بدست آوردن دیتاتیبل از دیتاگریدویو


    public static DataTable GetDataGridViewDataSource(DataGridView dgv)
    {
    DataTable dt = new DataTable("dt");
    try
    {
    List<DataGridViewRowInfo> MyColumns = new List<DataGridViewRowInfo>();
    foreach (DataGridViewColumn dgvC in dgv.Columns)
    {
    if (dgvC.Visible != false && dgvC.Name.ToLower() != "grd_id")
    {
    DataGridViewRowInfo info = new DataGridViewRowInfo(dgvC.Name, dgvC.HeaderText);
    MyColumns.Add(info);
    }
    }
    foreach (DataGridViewRowInfo info in MyColumns)
    {
    DataColumn dc = new DataColumn(info.HeaderText);
    dt.Columns.Add(dc);
    }
    for (int i = 0; i != dgv.Rows.Count; i++)
    {
    DataRow dr = dt.NewRow();
    foreach (DataGridViewRowInfo info in MyColumns)
    {
    dr[info.HeaderText] = dgv.Rows[i].Cells[info.Name].EditedFormattedValue.ToString();
    }
    dt.Rows.Add(dr);
    }
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.Message);
    }
    return dt;
    }




    public class DataGridViewRowInfo
    {
    string _Name;
    string _HeaderText;
    public DataGridViewRowInfo()
    {
    }
    public DataGridViewRowInfo(string name, string headerText)
    {
    _Name = name;
    _HeaderText = headerText;
    }
    public string Name { get { return _Name; } set { _Name = value; } }
    public string HeaderText { get { return _HeaderText; } set { _HeaderText = value; } }
    public override string ToString()
    {
    return _HeaderText;
    }
    }
    آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 27 خرداد 1394 در 03:31 صبح

  7. #447
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    ایران
    سن
    38
    پست
    467

    نمایش پیغام قبل از بسته شدن فرم (با هر طریق)

    نقل قول نوشته شده توسط iman_lovely666 مشاهده تاپیک
    براي اينكه كاربر نتونه بازدن alt+f4 فرم رو ببنده از كد زير استفاده مي كنيم :

    private void form1_KeyDown(object sender, KeyEventArgs e)
    {
    if (e.Alt && e.KeyCode == Keys.F4)
    {
    e.SuppressKeyPress = true;
    }
    }
    این کد رو ببینید:

    protected override void OnClosing(CancelEventArgs e)
    {
    if (MessageBox.Show("آیا برای خروج از برنامه اطمینان دارید؟", "اخطار", MessageBoxButtons.YesNo) != DialogResult.Yes)
    e.Cancel = true;
    else
    {
    base.OnClosing(e);
    }
    }

    خیلی بهینه تره
    نیاز هم نداره که ALT+F4 هم چک بشه ، همه انواع بسته شدن ها رو (البته بجز اتمام کار پروسس) شامل میشه
    تازه میتویند کلید ها رو هم چک کنید
    ضمنا فقط کافیه داخل فرم کپی کنید
    آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 27 خرداد 1394 در 03:34 صبح

  8. #448
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    ایران
    سن
    38
    پست
    467

    براي اينكه بتونيد با زدن اينتر فوكوس رو تغير بديم از كد زير استفاده کنید

    نقل قول نوشته شده توسط iman_lovely666 مشاهده تاپیک
    براي اينكه بتونيم با زدن اينتر فوكوس رو تغير بديم از كد زير استفاده مي كنيم

    private void textbox1_KeyDown(object sender, KeyEventArgs e)
    {
    if (e.KeyCode == Keys.Enter)
    {
    SendKeys.Send("{TAB}");
    }
    }
    اینم یه امتحانی بکنید

    private void ctrl_KeyPress(object sender, KeyPressEventArgs e)
    {
    if (e.KeyChar == (char) Keys.Enter)
    {
    e.Handled = true;
    Control ctrl = sender as Control;
    SelectNextControl(ctrl, true, true, true, true);
    }
    }

    اینو برای همه کنترل های فرمتون می تونید یکجا استفاده کنید
    یعنی برای رویداد KeytPress تک تک کنترل ها مانند تکست باکس ها ، چک باکس ها ، کامبو باکس ها و ... انتخاب کنید
    اینطوری دیگه لازم نیست برای هر کدومشون یک رویداد مجزا بنویسید
    خودش تشخیص میده و میره به کنترل بعدی
    آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 27 خرداد 1394 در 03:37 صبح

  9. #449

  10. #450

    نمايش فرم در وسط صفحه


    private void Form1_Load(object sender, EventArgs e)
    {
    Screen scr = Screen.PrimaryScreen;
    this.Left = (scr.WorkingArea.Width - this.Width) / 2;
    this.Top = (scr.WorkingArea.Height - this.Height) / 2;
    }
    آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 27 خرداد 1394 در 03:38 صبح

  11. #451

    نقل قول: نمايش فرم در وسط صفحه

    نقل قول نوشته شده توسط Iran58 مشاهده تاپیک
    نمايش فرم در وسط صفحه
    برای این کار کافیه خاصیت StartPosition فرم تنظیم کنید. کد جناب Iran58 در پست456 زمانی بدرد می خوره که در یک نقطه خواص بخواهید فرم باز بشه

    this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScree n;
    آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 27 خرداد 1394 در 03:39 صبح

  12. #452
    کاربر دائمی آواتار sinashahab
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    تهران و ترک کامپیوتر D:
    پست
    715

    Cool 1001 نکته در سی شارپ

    سلام دوستان

    حتما شما در داخل ویندوز تا حالا با این برخورد کردید که بعضی وقت ها بر روی بعضی دکمه ها کلیک می کنید و آنها Enable نیستن صدا ی Beep میاد .

    حالا من با این کدی که کذاشتم می تونید این کارو برای هر دکمه یا کنترلی روی فرمتون بزارید
    اینم از کدش :

    System.Media.SystemSounds.Beep.Play();
    System.Media.SystemSounds.Asterisk.Play();
    System.Media.SystemSounds.Hand.Play();
    System.Media.SystemSounds.Exclamation.Play();


    این صدا ها خیلی کاربرد دارن و می تونید از اونا مثلا برای وقتی که یه پیغام به نمایش گذاشته میشه استفاده کنید .


    یه نوع دیگه از این صدا ها که نوع صداش به خودتون بستگی داره:

    این صدا رو با استفاده از دستورات API و فرکانس صدا به اجرا میزارید :

    [DllImport("kernel32.dll")]
    public static extern bool Beep(int freq, int duration);


    و بعدش در داخل event مربوط به کنترلتون مثل دیکمه :

    Beep(4000, 1000);

    اولین پارامتر ورودی برای فرکانس صدا و دومی برای مدت زمان پخش هست .

    خوب من اینم بگم :
    من از این دستور آخری که API هست وقتی توی VB6 استفاده می کردم صدا از داخل کیس میومد یعنی از بلندگوی مادربرد میومد ولی حالا توی .Net از داخل Speaker میاد .

    ولی اینم بگم قدرت VB6 توی دستورات API خیلی بیشتر از C#‎‎‎‎ بود چون توی اون بدون واسطه و .... (CRL) بودش . قبلا حتی برای بازی هامم ازش استفاده می کردم .

    اگه خوشتون اومد تشکر یادتون نره !!
    آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 27 خرداد 1394 در 03:40 صبح

  13. #453

    نقل قول: 1001 نکته در سی شارپ

    مینی مایز کردن تمامی پنجره های ویندوزی با استفاده از Invoke

    البته نمیدونم قبلا گذاشته شده یا نه. ولی خب منم گذاشتمش شاید به درد کسی خورد.

    مدیران عزیز اگر گذاشته شده قبلا امیدوارم
    پست رو پاک کنید.


    Type typeS = null;
    object os = Type.Missing;
    typeS = Type.GetTypeFromProgID("Shell.Application");
    os = Activator.CreateInstance(typeS);
    typeS.InvokeMember
    ("MinimizeAll", System.Reflection.BindingFlags.InvokeMethod, null, os, null);


    کسی که به خود اطمینان دارد به تعریف دیگران احتیاج ندارد. «گوستاو لوبون»


  14. #454

    نقل قول: 1001 نکته در سی شارپ

    سلام
    یک روش برای حذف آیتمهایی که در CheckListBox تیک نخوردن

    while (checkedListBox1.Items.Count - checkedListBox1.CheckedItems.Count >0)
    {
    for (int i = 0; i < checkedListBox1.Items.Count; i++)
    {
    if (checkedListBox1.GetItemCheckState(i) == CheckState.Unchecked)
    checkedListBox1.Items.RemoveAt(i);
    }
    }
    آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 27 خرداد 1394 در 03:41 صبح

  15. #455
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: 1001 نکته در سی شارپ

    نقل قول نوشته شده توسط Mehdi550u مشاهده تاپیک
    سلام
    یک روش برای حذف آیتمهایی که در CheckListBox تیک نخوردن
    while (checkedListBox1.Items.Count - checkedListBox1.CheckedItems.Count >0)
    {
    for (int i = 0; i < checkedListBox1.Items.Count; i++)
    {
    if (checkedListBox1.GetItemCheckState(i) == CheckState.Unchecked)
    checkedListBox1.Items.RemoveAt(i);
    }
    }
    منطقش کاملاً غلطه.
    باید بشه:

    for (int i = 0; i < checkedListBox1.Items.Count; i++)
    if (checkedListBox1.GetItemCheckState(i) == CheckState.Unchecked)
    checkedListBox1.Items.RemoveAt(i--);

  16. #456
    کاربر جدید
    تاریخ عضویت
    آذر 1385
    محل زندگی
    esfahan
    پست
    29

    نقل قول: 1001 نکته در سی شارپ

    چک کردن اینکه آیا کلید capslock یا numlock روشن هست یا نه

    [DllImport("user32.dll", CharSet=CharSet.Auto, ExactSpelling=true,
    CallingConvention=CallingConvention.Winapi)]
    public static extern short GetKeyState(int keyCode);

    bool isCapsLock = (((ushort) GetKeyState(0x14 /*VK_CAPITAL*/)) & 0xffff) != 0;
    bool isNumLock = (((ushort) GetKeyState(0x90 /*VK_NUMLOCK*/)) & 0xffff) != 0;
    آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 27 خرداد 1394 در 03:41 صبح

  17. #457
    کاربر دائمی آواتار jeson_park
    تاریخ عضویت
    دی 1387
    محل زندگی
    گچساران
    سن
    33
    پست
    595

    لیست برنامه ها نصب شده

    با سلام
    این هم از اولین نکته من
    امیدوارم که تکراری نباشه

    لیست برنامه ها نصب شده در مسیر زیر درون رجیستری قرار میگیره:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curr entVersion\Uninstall

    خب حالا برای بدست آوردنشون:

    private void GetInstalledPrograms()
    {
    RegistryKey localmachine = Registry.LocalMachine;
    RegistryKey uninstall = localmachine.OpenSubKey(@"Software\Microsoft\Windo ws\CurrentVersion\Uninstall");
    foreach (string key in uninstall.GetSubKeyNames())
    {
    RegistryKey activeKey = uninstall.OpenSubKey(key);
    string displayName = (string)activeKey.GetValue("DisplayName");
    if (!String.IsNullOrEmpty(displayName))
    listBox1.Items.Add(displayName);
    }
    }

    موفق باشین
    آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 27 خرداد 1394 در 03:43 صبح

  18. #458
    کاربر جدید آواتار donny6202
    تاریخ عضویت
    شهریور 1389
    محل زندگی
    Tehran
    پست
    13

    نقل قول: نمایش پیغام قبل از بسته شدن فرم (با هر طریق)

    کلا برای اینکه با هر کنترلی نتونید فرم رو ببندید :

    private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
    e.Cancel = true;
    }
    آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 27 خرداد 1394 در 03:44 صبح

  19. #459
    کاربر جدید آواتار donny6202
    تاریخ عضویت
    شهریور 1389
    محل زندگی
    Tehran
    پست
    13

    نقل قول: روشی برای تشخیص عدد بودن یک string

    نقل قول نوشته شده توسط Salar Ashgi مشاهده تاپیک
    از روش ساده زیر هم میشه برای تعیین عدد بودن یک رشته استفاده کرد :

    توسط یک متود :

    private bool str_is_digit(string str)
    {
    bool res = true;
    foreach (char c in str)
    {
    if (!char.IsDigit(c))
    {
    res = false;
    break;
    }
    }
    return res;
    }
    یه روش خیلی راحت تر هم هست :

    public bool isnumber(string s)
    {
    try
    {
    int i = int.Parse(s);
    return true;
    }
    catch
    {
    return false;
    }
    }
    آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 27 خرداد 1394 در 03:46 صبح

  20. #460

    نقل قول: 1001 نکته در سی شارپ

    با کدهای زیر شما میتونید یک رشته و یک پیکچر باکس رو معرفی بکنید و رشته تبدیل به عکس بشه مانند شکل زیر:


    public void RenderRainbowText(string Text, PictureBox pb)
    {
    // PictureBox needs an image to draw on
    pb.Image = new Bitmap(pb.Width, pb.Height);
    using (Graphics g = Graphics.FromImage(pb.Image))
    {
    // create all-white background for drawing
    SolidBrush brush = new SolidBrush(Color.White);
    g.FillRectangle(brush, 0, 0,
    pb.Image.Width, pb.Image.Height);
    // draw comma-delimited elements in multiple colors
    string[] chunks = Text.Split(',');
    brush = new SolidBrush(Color.Black);
    SolidBrush[] brushes = new SolidBrush[] {
    new SolidBrush(Color.Red),
    new SolidBrush(Color.Green),
    new SolidBrush(Color.Blue),
    new SolidBrush(Color.Purple) };
    float x = 0;
    for (int i = 0; i < chunks.Length; i++)
    {
    // draw text in whatever color
    g.DrawString(chunks[i], pb.Font, brushes[i], x, 0);
    // measure text and advance x
    x += (g.MeasureString(chunks[i], pb.Font)).Width;
    // draw the comma back in, in black
    if (i < (chunks.Length - 1))
    {
    g.DrawString(",", pb.Font, brush, x, 0);
    x += (g.MeasureString(",", pb.Font)).Width;
    }
    }
    }
    }

    طرز استفاده :


    private void button1_Click(object sender, EventArgs e)
    {
    RenderRainbowText(" mojtaba,Dinarvand ", pictureBox1);
    }
    منبع : stackoverflow.com
    آخرین ویرایش به وسیله mmd2009 : یک شنبه 21 شهریور 1389 در 23:35 عصر

    کسی که به خود اطمینان دارد به تعریف دیگران احتیاج ندارد. «گوستاو لوبون»


  21. #461

    Thumbs up نقل قول: 1001 نکته در سی شارپ

    سلام
    امروز برای دوستانی که با Extension های Visual Studio آشنا نیستند شروع به نوشتن یه مقاله کوچیک کردم . که پیشنهاد میکنم اگه ازشون استفاده نمیکنید حتما یه نگاهی بندازید :
    https://barnamenevis.org/showthread.php?t=251272
    موفق باشید .

  22. #462
    کاربر دائمی آواتار علیرضا حسن زاده
    تاریخ عضویت
    تیر 1388
    محل زندگی
    تــــــــــــــــــــــــــبریز
    پست
    897

    Scroll کردن به سطر انتخاب شده در DataGrid

    سلام؛ نمی دونم قبلا کسی این مطلب رو پست کرده یا نه (من ندیدم)
    برای Scroll کردن به یه سطر که از طریق کد انتخاب شده می تونید از Property زیر استفاده کنید (البته 3 تا پروپرتی تقریبا هم نام هم برای Scroll به ستون ها هم وجود داره)
    dataGridView1.FirstDisplayedScrollingRowIndex
    با قرار دادن Index سطری که انتحاب شده در این Property به صورت اتوماتیک سطر انتخاب شده اولین سطر نمایش داده شده در DataGrid خواهد بود

  23. #463
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    ایران
    سن
    38
    پست
    467

    نقل قول: Scroll کردن به سطر انتخاب شده در DataGrid

    نقل قول نوشته شده توسط علیرضا حسن زاده مشاهده تاپیک
    سلام؛ نمی دونم قبلا کسی این مطلب رو پست کرده یا نه (من ندیدم)
    برای Scroll کردن به یه سطر که از طریق کد انتخاب شده می تونید از Property زیر استفاده کنید (البته 3 تا پروپرتی تقریبا هم نام هم برای Scroll به ستون ها هم وجود داره)
    dataGridView1.FirstDisplayedScrollingRowIndex
    با قرار دادن Index سطری که انتحاب شده در این Property به صورت اتوماتیک سطر انتخاب شده اولین سطر نمایش داده شده در DataGrid خواهد بود
    خب کاملا درسته دوست من
    من قبلا از کد زیر هم استفاده کردم

    TodayGridView.FirstDisplayedCell = TodayGridView.Rows[Search_FindIndex].Cells[2];
    or
    TodayGridView.FirstDisplayedRow = TodayGridView.Rows[Search_FindIndex];


  24. #464

    نقل قول: 1001 نکته در سی شارپ

    تبدیل یک عکس به معادل GrayScale (تبدیل عکس رنگی به سیاه سفید) آن بصورت خیلی ساده و بهینه :

    public Bitmap GrayScale_Maker(Bitmap bmp)
    {
    Bitmap res = new Bitmap(bmp.Width, bmp.Height);
    for (int i = 0; i < bmp.Height; i++)
    {
    for (int j = 0; j < bmp.Width; j++)
    {
    Color cr = bmp.GetPixel(j, i);
    int code = (int)((cr.R + cr.B + cr.G) / 3);
    res.SetPixel(j, i, Color.FromArgb(code, code, code));
    }
    }
    return res;
    }

    با این الگوریتم RGB هر رنگ پیکسل پیدا شده و مجموع آنها تقسیم بر 3 ، RGB های تصویر جدید میشوند ./
    آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 27 خرداد 1394 در 03:47 صبح






  25. #465

    نقل قول: 1001 نکته در سی شارپ

    استفاده از برخی متودهای کاربردی فضای نام Microsoft.VisualBasic :
    (راهنمای افزودن فضای نام به رفرنس های پروژه ، در عکسهای ضمیمه)

    مثال : بررسی عدد بودن یک رشته :

    if (Microsoft.VisualBasic.Information.IsNumeric("1234 abc"))
    MessageBox.Show("YES");
    else
    MessageBox.Show("NO");
    عکس های ضمیمه عکس های ضمیمه
    • نوع فایل: jpg 1.jpg‏ (43.8 کیلوبایت, 1538 دیدار)
    • نوع فایل: jpg 2.jpg‏ (28.4 کیلوبایت, 1526 دیدار)
    • نوع فایل: jpg 3.jpg‏ (61.8 کیلوبایت, 1518 دیدار)
    آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 27 خرداد 1394 در 03:48 صبح






  26. #466

    نقل قول: 1001 نکته در سی شارپ

    تولید اعداد تصادفی "تقریبا یکتا توسط کلاس Guid و با دستورات LINQ :

    string Random_Int()
    {
    char[] a = (from ch in Guid.NewGuid().ToString().ToCharArray().OfType<cha r>()
    where char.IsDigit(ch)
    select ch).ToArray();
    string str = new string(a);
    return str;
    }
    عکس های ضمیمه عکس های ضمیمه
    • نوع فایل: jpg 4.jpg‏ (9.6 کیلوبایت, 1537 دیدار)
    آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 27 خرداد 1394 در 03:49 صبح






  27. #467
    کاربر دائمی آواتار sajadjamalian
    تاریخ عضویت
    تیر 1388
    محل زندگی
    تهران
    پست
    252

    نقل قول: 1001 نکته در سی شارپ

    سلام دوستان:
    آموزش رسم نمودار در سی شارپ به وسیله MSCHART:
    این فایل word جمع آوری آموزشهایی هست که توی تاپیک زیر داده بودم، گفتم خالی از لطف نیست اینجا هم باشه،
    https://barnamenevis.org/showthread.p...%D9%87-MSCHART
    امیدوارم دوستان بتونن استفاده کنن:
    فایل های ضمیمه فایل های ضمیمه

  28. #468

    نقل قول: 1001 نکته در سی شارپ

    تو کرنل از PsSetCreateProcessNotifyRoutine استفاده می کنیم و پروسس ها رو مانیتور می کردیم

    این رو لان دیدم خوشم امد

    http://msforums.ph/forums/t/50817.aspx

  29. #469
    کاربر دائمی آواتار alonemm
    تاریخ عضویت
    آذر 1388
    محل زندگی
    تهرانپارس
    سن
    35
    پست
    1,846

    نقل قول: 1001 نکته در سی شارپ

    باسلام:
    در لینک زیر آموزش ساخت وب سرویس ها و نحوه بکار گیری در برنامه های تحت ویندوز رو براتون گزاشتم.
    (میتونید ازش ایده بگیرید)
    https://barnamenevis.org/showthread.p...وز&highlight=

  30. #470

    نقل قول: مشکل رسم مستطیل با ماوس

    رسم یک Rectangle با ماوس راحته اما یک مشکلی بعضی مواقع پیش می یاد(حد اقل برای من) که وقتی می خوایم یک مستطیل رو به طرف بالا رسم کنیم رسم نمیشه و حالا..

    این یه خلاصه.


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;

    namespace WindowsFormsApplication19
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }

    Point startPos;
    Point currentPos;
    private void Form1_MouseDown(object sender, MouseEventArgs e)
    {
    startPos = startPos = e.Location;
    }

    private void Form1_MouseMove(object sender, MouseEventArgs e)
    {
    if (e.Button == System.Windows.Forms.MouseButtons.Left)
    {
    currentPos = e.Location;
    this.Invalidate();
    }
    }

    private void Form1_MouseUp(object sender, MouseEventArgs e)
    {

    }

    private void Form1_Paint(object sender, PaintEventArgs e)
    {
    e.Graphics.DrawRectangle(new Pen(Color.Red), Math.Min(startPos.X, currentPos.X), Math.Min(startPos.Y, currentPos.Y), Math.Abs(startPos.X - currentPos.X), Math.Abs(startPos.Y - currentPos.Y));
    }
    }
    }




    اینم نمونه کد اصلی که من دیدم
    http://stackoverflow.com/questions/4...usedown-move-c

  31. #471
    کاربر دائمی آواتار navidiran
    تاریخ عضویت
    مرداد 1388
    محل زندگی
    ارومیه
    پست
    242

    پرش خودکار تب بین تکست باکسها و MaskTextBox

    با این کار کنترل تب خودکار پس از کامل شدن مقادیر پیش فرض تکست باکس یا مسک تکست باکس به کنترل بعدی میره

    private void MaskTextBox_TextChanged(object sender, EventArgs e)
    {
    if (MaskTextBox.MaskCompleted) TextBox1.Focus();
    }

    //************************************************

    private void TextBox1_TextChanged(object sender, EventArgs e)
    {
    if (TextBox1.TextLength == 2) TextBox2.Focus();
    }
    آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 27 خرداد 1394 در 03:51 صبح

  32. #472
    کاربر دائمی آواتار Esmail Solhkhah
    تاریخ عضویت
    مهر 1385
    محل زندگی
    بورکینافاسو
    پست
    1,774

    تغییر نام فایل و فولدر

    اگه Microsoft.VisualBasic رو به رفرنسهاتون Add کنید

    برای تغییر نام فایل

    Microsoft.VisualBasic.FileIO.FileSystem.RenameFile  (file, newname);


    و برای تغییر نام فولدر

    Microsoft.VisualBasic.FileIO.FileSystem.RenameDire  ctory(directry, newname);

  33. #473

    نقل قول: روشی برای تشخیص عدد بودن یک string

    نقل قول نوشته شده توسط donny6202 مشاهده تاپیک
    یه روش خیلی راحت تر هم هست :

    public bool isnumber(string s)
    {
    try
    {
    int i = int.Parse(s);
    return true;
    }
    catch
    {
    return false;
    }
    }

    از این روش هم راحت تر هست :

    int a = 0;
    bool isnum = int.TryParse(textBox1.Text, out a);
    آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 27 خرداد 1394 در 03:54 صبح

  34. #474

    نقل قول: پرش خودکار تب بین تکست باکسها و MaskTextBox

    نقل قول نوشته شده توسط navidiran مشاهده تاپیک
    با این کار کنترل تب خودکار پس از کامل شدن مقادیر پیش فرض تکست باکس یا مسک تکست باکس به کنترل بعدی میره


     
    private void MaskTextBox_TextChanged ( object sender, EventArgs e )
    {
    if ( MaskTextBox.MaskCompleted ) TextBox1.Focus( );
    }

    //************************************************

    private void TextBox1_TextChanged ( object sender, EventArgs e )
    {
    if ( TextBox1.TextLength == 2 ) TextBox2.Focus( )
    }



    با اجازه دوست عزیز اینطور تصحیح بکنم :


    private void MaskTextBox_TextChanged ( object sender, EventArgs e )
    {
    if ( MaskTextBox.MaskCompleted ) SendKeys.Send("{TAB}");
    }

    //************************************************

    private void TextBox1_TextChanged ( object sender, EventArgs e )
    {
    if ( TextBox1.TextLength == 2 ) SendKeys.Send("{TAB}");
    }

    آخرین ویرایش به وسیله quantomquery : سه شنبه 18 مرداد 1390 در 18:07 عصر دلیل: دنیا همینه دیگه

  35. #475
    کاربر دائمی آواتار danial82
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    iran_tehran
    پست
    531

    نقل قول: 1001 نکته در سی شارپ

    عملگر ؟؟ برای مشص کردن مقدار پیشفرض یک متغیر در صورت null بودن

    // y = x, unless x is null, in which case y = -1.
    int y = x ?? -1;


    MSDN

  36. #476
    کاربر دائمی آواتار BEHZADnr
    تاریخ عضویت
    شهریور 1389
    محل زندگی
    کرج
    سن
    33
    پست
    185

    نحوه باز کردن یک برنامه و مطلع شدن از باز یا بسته بودن آن

    با سلام خدمت تمام دوستان برنامه نویس

    نحوه باز کردن یک برنامه و مطلع شدن از باز یا بسته بودن آن توسط Process
    برای انجام این کار ابتدا استفاده از Using زیر
    using System.Diagnostics;

    و سپس قرار دادن کد زیر در هر جایی که دوست دارید
    Process p = new Process();
    ProcessStartInfo pI = new ProcessStartInfo();
    pI.FileName = Environment.SystemDirectory + @"\notepad.exe";
    pI.UseShellExecute = false;
    pI.CreateNoWindow = true;
    p.StartInfo = pI;
    p.Start();

    //برای مطلع شدن از باز بودن برنامه و نمایش نوشته دلخواه در لیبل
    p.WaitForInputIdle();
    label1.Text = "Open";


    //برای مطلع شدن از خروج برنامه و نمایش نوشته دلخواه در لیبل
    p.WaitForExit();
    /*برای بسته شدن برنامه در زمان دلخواه از کد زیر به جای کد بالا استفاده کنید
    p.WaitForExit(Input milisecond);
    p.Kill();*/
    label1.Text = "Close";

    با استفاده از کد زیر شما می توانید هر برنامه دیگری را به جای NotePad اجرا کنید
    pI.FileName = "آدرس برنامه";


    نمونه برنامه
    ProcessWait.rar

    آرزو میکنم که همیشه موفق باشین
    آخرین ویرایش به وسیله BEHZADnr : پنج شنبه 27 مرداد 1390 در 23:14 عصر

  37. #477
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    آبان 1387
    پست
    62

    Cool یک مورد استفاده از کی-ورد await

    عنوان دقیقترِ پست: استفاده از کی-ورد await بجای جنگولک بازیهایِ من-درآوردیِ معمول...!

    فرض کنید بعنوان یک مثال خیلی عمومی میخوایم مقدار زیادی اطلاعات از دیتابیس بگیریم (یا بطور کلی کاری بکنیم که کمی وقتگیر هست و Thread جاری رو چند لحظه ای مشغول میکنه) و نمیخوایم هم که این اتفاق بیوفته چون مثلا فرمی که الان کاربر داره باهاش کارمیکنه قفل میشه و یجورایی احساس خوشآیندی به کاربر نمیده!
    برای حل این مشکل اصولا هرکس میتونه برای خودش راه حلی داشته باشه و همه راه حلها هم درست کار کنن. ولی استفاده از کی-ورد await میتونه از خیلی از اینها راحتتر باشه:
    (تو این کد فرض کنید متد GetData که یه DataTable برمیگردونه، مدت زمان چند ثانیه وقت میگیره و مشکلمون اون هست و نمیخوایم مثلا فرممون اصطلاحا قفل بشه).


    // Create new task
    Task<DataTable> dataTask = new Task<DataTable>(GetData);

    //this will actually "pause" the code execution until the task completes. It doesn't lock the thread, but rather waits for the result, similar to an async callback
    DataTable table = await dataTask;

    listBoxControl.DataContext = table;


    که توضیحات داخل کد گویا هست به نظرم.
    حتی میشه استفاده رو بهتر کرد (یعنی مثلا قبل از شروع به کار یه صفحه ای چیزی به کاربر نشون داده بشه، و بعد از اتمام کار هم اون صفحه بسته بشه):


    //create and run a new task
    Task<DataTable> dataTask = new Task<DataTable>(GetData);

    //run some other code immediately after this task is started and running
    ShowLoaderControl();
    StartStoryboard();

    //this will actually "pause" the code execution until the task completes. It doesn't lock the thread, but rather waits for the result, similar to an async callback
    DataTable table = await dataTask;

    //Now we can perform operations on the Task result, as if we're executing code after the async operation completed
    listBoxControl.DataContext = table;
    StopStoryboard();
    HideLoaderControl();



    منبع کد: http://stackoverflow.com/questions/4...-await-feature

  38. #478
    کاربر دائمی آواتار danial82
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    iran_tehran
    پست
    531

    نقل قول: 1001 نکته در سی شارپ

    پیدا کردن پورت COM دستگاهی که با چیپ ftdi به کامپیوتر وصل شده

    UInt32 count = 0;
    FTDI.FT_STATUS status = ftdi.GetNumberOfDevices(ref count);
    if (status != FTDI.FT_STATUS.FT_OK)
    {
    log.Warn("Unable to access FTDI");
    return ports;
    }
    FTDI.FT_DEVICE_INFO_NODE[] list = new FTDI.FT_DEVICE_INFO_NODE[count];
    status = ftdi.GetDeviceList(list);
    if (status != FTDI.FT_STATUS.FT_OK)
    {
    log.Warn("Unable to access FTDI");
    return ports;
    }
    foreach (FTDI.FT_DEVICE_INFO_NODE node in list)
    {
    if ((status = ftdi.OpenByLocation(node.LocId)) == FTDI.FT_STATUS.FT_OK)
    {
    try
    {
    string comport;
    ftdi.GetCOMPort(out comport);
    ports.Add(new Port(comport, node.Description, node.SerialNumber));
    }
    finally
    {
    ftdi.Close();
    }
    }
    }


    منبع
    آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 27 خرداد 1394 در 03:56 صبح

  39. #479
    کاربر دائمی آواتار mehdikhazaei
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آمل
    پست
    103

    نقل قول: کار کردن با کلاس TimeZoneInfo

    توابع Params در # C
    یک تابع می تواند به تعداد نامحدود پارامتر دریافت کند برای اینکار از دستور Params در تعریف پارامترها استفاده می شود به مثال زیر توجه کنید :

    public static long Sum(params int[] numbers)
    {
    long Result = 0;
    foreach (int number in numbers)
    {
    Result += number;
    }
    return Result;
    }

  40. #480
    کاربر دائمی آواتار mehdikhazaei
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آمل
    پست
    103

    نقل قول: تغییر نام فایل و فولدر

    آموزش نحوه Hidden (مخفی) کردن فایل در سی شارپ:

    مبحث فایلها یک از جذابترین موضوعات در سی شارپ است.در این پست قصد دارم نحوه مخفی کردن و نمایش فایل مخفی را به زبان سی شارپ توضیح دهم.البته کد بسیار ساده ای دارد.

    خوب, چون از فایل میخواهیم استفاده کنیم ابتدا فضای نام System.IO را به برنامه اضافه میکنیم.یک شی از کلاس FileInfo درست کرده و به آن مسیر فایلی را که میخواهیم مخفی کنیم به آن میدهیم

    مبحث فایلها یک از جذابترین موضوعات در سی شارپ است.در این پست قصد دارم نحوه مخفی کردن و نمایش فایل مخفی را به زبان سی شارپ توضیح دهم.البته کد بسیار ساده ای دارد.

    خوب, چون از فایل میخواهیم استفاده کنیم ابتدا فضای نام System.IO را به برنامه اضافه میکنیم.یک شی از کلاس FileInfo درست کرده و به آن مسیر فایلی را که میخواهیم مخفی کنیم به آن میدهیم



    مبحث فایلها یک از جذابترین موضوعات در سی شارپ است.در این پست قصد دارم نحوه مخفی کردن و نمایش فایل مخفی را به زبان سی شارپ توضیح دهم.البته کد بسیار ساده ای دارد.

    خوب, چون از فایل میخواهیم استفاده کنیم ابتدا فضای نام System.IO را به برنامه اضافه میکنیم.یک شی از کلاس FileInfo درست کرده و به آن مسیر فایلی را که میخواهیم مخفی کنیم به آن میدهیم مانند کد زیر:
    FileInfo file;
    file = new FileInfo("مسیر فایل");


    برای مخفی کردن فایل از کد زیر استفاده میکنیم:

    file.Attributes = FileAttributes.Hidden;




    برای آنکه فایل مخفی شده ظاهر شود و از حالت Hidden بیرون بیاید از کد زیر استفاده میکنیم:



    file.Attributes = ~FileAttributes.Hidden;

صفحه 12 از 14 اولاول ... 21011121314 آخرآخر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •