نمایش نتایج 1 تا 10 از 10

نام تاپیک: سوال:چطور در اتفاق dataGridView1_CellEndEdit می توان مشخص کرد که چه دکمه ای فشرده شد؟

  1. #1
    کاربر دائمی آواتار hassan_h
    تاریخ عضویت
    دی 1386
    محل زندگی
    شمال
    پست
    172

    Question سوال:چطور در اتفاق dataGridView1_CellEndEdit می توان مشخص کرد که چه دکمه ای فشرده شد؟

    سوال:چطور در اتفاق dataGridView1_CellEndEdit می توان مشخص کرد که چه دکمه ای از صفحه کلید فشرده شد؟
    آیا این امکان داره

  2. #2
    کاربر دائمی آواتار hassan_h
    تاریخ عضویت
    دی 1386
    محل زندگی
    شمال
    پست
    172

    نقل قول: سوال:چطور در اتفاق dataGridView1_CellEndEdit می توان مشخص کرد که چه دکمه ای فشرده شد؟

    از اساتید کسی بلد نیست

  3. #3
    کاربر دائمی آواتار newgoldenman
    تاریخ عضویت
    آبان 1385
    محل زندگی
    همشهري حضرت معصومه (س)
    پست
    367

    نقل قول: سوال:چطور در اتفاق dataGridView1_CellEndEdit می توان مشخص کرد که چه دکمه ای فشرده شد؟

    سلام
    هر رويدادي، توي sender خودش، handle خودش رو پردازش ميكنه. پس، شما بايد از يكي از رويدادهاي KeyPress، KeyDown،KeyPreviewDown ... استفاده كنيد. كه بتونيد به صفحه كليد مسلط باشيد!

    موفق باشيد.

  4. #4
    کاربر دائمی آواتار hassan_h
    تاریخ عضویت
    دی 1386
    محل زندگی
    شمال
    پست
    172

    نقل قول: سوال:چطور در اتفاق dataGridView1_CellEndEdit می توان مشخص کرد که چه دکمه ای فشرده شد؟

    نقل قول نوشته شده توسط newgoldenman مشاهده تاپیک
    سلام
    هر رويدادي، توي sender خودش، handle خودش رو پردازش ميكنه. پس، شما بايد از يكي از رويدادهاي KeyPress، KeyDown،KeyPreviewDown ... استفاده كنيد. كه بتونيد به صفحه كليد مسلط باشيد!

    موفق باشيد.
    چشم بسته غیب گفتی . من مشکلم اینه که داخل dataGridView1_CellEndEdit میخوام به KEY که PRESS شده دسترسی داشته باشم
    کسی نمیدونه؟

  5. #5
    کاربر دائمی آواتار saied_genius
    تاریخ عضویت
    آبان 1386
    محل زندگی
    IRAN فعلاً ...
    پست
    595

    نقل قول: سوال:چطور در اتفاق dataGridView1_CellEndEdit می توان مشخص کرد که چه دکمه ای فشرده شد؟

    چشم بسته غیب گفتی . من مشکلم اینه که داخل dataGridView1_CellEndEdit میخوام به KEY که PRESS شده دسترسی داشته باشم
    کسی نمیدونه؟


    براي اين كار در رويداد dataGridView1_CellEndEdit رويداد keydown يا keypress را به صورت زير فراخواني كنيد و در همان رويداد كليد فشار داده شده را مانيتور كنيد:


    privatevoid dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
    {
    dataGridView1_KeyPress(null, null);
    }


    و يا


    privatevoid dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
    {
    dataGridView1_KeyDown(null, null);
    }



    سوالي بود در خدمتم.

    موفق باشيد.

    ***********************************************
    ویرایش شده توسط مدیز بخش => مهدی کیانی
    با تشکر از حسن نیت شما ..
    ولی سعی کنید مواردی را که خلاف با قوانین وعرف برنامه نویس می بینید، از طریق دکمه مربوطه ()به مدیران گزارش دهید تا آنان نسبت به حل آن موضوع اقدام کنند.
    **********************************************
    آخرین ویرایش به وسیله Mahdi.Kiani : چهارشنبه 09 بهمن 1387 در 19:52 عصر

  6. #6
    کاربر دائمی آواتار hassan_h
    تاریخ عضویت
    دی 1386
    محل زندگی
    شمال
    پست
    172

    نقل قول: سوال:چطور در اتفاق dataGridView1_CellEndEdit می توان مشخص کرد که چه دکمه ای فشرده شد؟

    تشکر ولی شما کی فشرده شده رو نول قرار دادین پس زمانی که key down رو فراخوانی می کنید نمی تونید بدونید که چه کلیدی از صفحه کلید فشرده شده یعنی e.key=null میشه

  7. #7
    کاربر دائمی آواتار saied_genius
    تاریخ عضویت
    آبان 1386
    محل زندگی
    IRAN فعلاً ...
    پست
    595

    نقل قول: سوال:چطور در اتفاق dataGridView1_CellEndEdit می توان مشخص کرد که چه دکمه ای فشرده شد؟

    راه حل مايكروسافت:


    public
    classdgv : DataGridView
    {
    protectedoverridebool ProcessDialogKey(Keys keyData)
    {
    Keys key = (keyData & Keys.KeyCode);
    if (key == Keys.Enter)
    {
    returnthis.ProcessRightKey(keyData);
    }
    returnbase.ProcessDialogKey(keyData);
    }
    protectedoverridebool ProcessDataGridViewKey(KeyEventArgs e)
    {
    if (e.KeyCode == Keys.Enter)
    {
    returnthis.ProcessRightKey(e.KeyData);
    }
    returnbase.ProcessDataGridViewKey(e);
    }
    }


    فقط من نمي دانم چطوري ازش استفاده كنم!!!

  8. #8
    کاربر دائمی آواتار saied_genius
    تاریخ عضویت
    آبان 1386
    محل زندگی
    IRAN فعلاً ...
    پست
    595

    نقل قول: سوال:چطور در اتفاق dataGridView1_CellEndEdit می توان مشخص کرد که چه دکمه ای فشرده شد؟


    privatevoid dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
    {
    MessageBox.Show(dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString().Substring(dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString().Length - 1, 1));
    }


    اميدوارم كه منظورتان را درست فهميده باشم و مشكلات با اين كد حل شود.

    موفق باشيد.

  9. #9
    کاربر دائمی آواتار hassan_h
    تاریخ عضویت
    دی 1386
    محل زندگی
    شمال
    پست
    172

    نقل قول: سوال:چطور در اتفاق dataGridView1_CellEndEdit می توان مشخص کرد که چه دکمه ای فشرده شد؟

    تشکر - اینی که شما نوشتین فقط برای این استفاده می شه کرد که به دیتاگرید بگیم که با زدن اینتر به جلو حرکت کنه - ولی مشکل من رو حل نمی کنه من می خواهم زمانی که یک سلول دیتا گرید تو مود ویرایش هستش دکمه فشرده شده رو درک کنه

  10. #10
    کاربر دائمی آواتار hassan_h
    تاریخ عضویت
    دی 1386
    محل زندگی
    شمال
    پست
    172

    نقل قول: سوال:چطور در اتفاق dataGridView1_CellEndEdit می توان مشخص کرد که چه دکمه ای فشرده شد؟

    [cod]

    با یه روش دیگه مشکل رو حل کردم

    key keyenter;
    protected override bool ProcessCmdKey(ref System.Windows.Forms.Message m, System.Windows.Forms.Keys k)


    {


    keyenter = k;



    return base.ProcessCmdKey(ref m, k);
    }

    و میشه حالا در اونت های دیتا گرید به کلید فشرده شده دسترسی داشت
    if (keyenter=keys.enter)
    do
    [/cod]

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

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