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

نام تاپیک: چگونه با راست کلیک موس رکورد در دیتاگرید انتخاب شود

  1. #1
    کاربر دائمی آواتار amir200h
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    بروجرد->تهران->قم
    سن
    33
    پست
    782

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

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

  2. #2

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

    سلام
    فکر کنم این به کارت بیاد
     if(e.Button == MouseButtons.Right)
    {
    var hti = MyDataGridView.HitTest(e.X, e.Y); MyDataGridView.ClearSelection();
    MyDataGridView.Rows[hti.RowIndex].Selected = true;
    }

  3. #3
    کاربر دائمی آواتار amir200h
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    بروجرد->تهران->قم
    سن
    33
    پست
    782

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

    مرسی ولی به خط زیر گیر میده.
    e.Button و x
    بعد نمیدونم تو کدوم رویداد بزارم؟

  4. #4

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

    توی رویداد cellMouseClick باید این کد رو بنویسی

  5. #5
    کاربر دائمی آواتار amir200h
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    بروجرد->تهران->قم
    سن
    33
    پست
    782

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

    این خطارو میده
    Index was out of range. Must be non-negative and less than the size of the collection.
    Parameter name: index

  6. #6

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

    روی cell کلیک کردی و این خطارو داد

  7. #7
    کاربر دائمی آواتار amir200h
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    بروجرد->تهران->قم
    سن
    33
    پست
    782

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

    بله........

  8. #8
    کاربر دائمی آواتار amir200h
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    بروجرد->تهران->قم
    سن
    33
    پست
    782

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

    دوستان دیگه ای نبودن جواب بدن؟

  9. #9
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

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

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

    if (e.RowIndex != -1 && e.Button == MouseButtons.Right)
    {
    dataGridView1.Rows[e.RowIndex].Selected = true;
    }

  10. #10
    کاربر دائمی آواتار amir200h
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    بروجرد->تهران->قم
    سن
    33
    پست
    782

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

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

  11. #11
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

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

    این کد رو توی خط سوم اضافه کنی درست میشه
     dataGridView1.ClearSelection();

    یعنی در کل اینجوری میشه:
    if (e.RowIndex != -1 && e.Button == MouseButtons.Right)
    {
    dataGridView1.ClearSelection();

    dataGridView1.Rows[e.RowIndex].Selected = true;
    }

  12. #12

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

    نقل قول نوشته شده توسط maysamfthi مشاهده تاپیک
    این کد رو توی خط سوم اضافه کنی درست میشه
     dataGridView1.ClearSelection();

    یعنی در کل اینجوری میشه:
    if (e.RowIndex != -1 && e.Button == MouseButtons.Right)
    {
    dataGridView1.ClearSelection();

    dataGridView1.Rows[e.RowIndex].Selected = true;
    }
    این هم فایده نداره چون سطر جاری(currentrow) و سلول جاری(currentcell) تغییر نخواهد کرد. بهتره همین مقادیر رو مستقیما مقداردهی کنید:

    private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
    {
    if (e.RowIndex >= 0 && e.ColumnIndex >= 0)
    {
    dataGridView1.CurrentCell = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];
    }
    }

  13. #13
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

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

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    این هم فایده نداره چون سطر جاری(currentrow) و سلول جاری(currentcell) تغییر نخواهد کرد. بهتره همین مقادیر رو مستقیما مقداردهی کنید:

    private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
    {
    if (e.RowIndex >= 0 && e.ColumnIndex >= 0)
    {
    dataGridView1.CurrentCell = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];
    }
    }
    به نظرم از فایده داشتن که فایده داره ولی اینکه کدهای شما کمتره (یک خط) درسته و اون یه بحث دیگه است!

تاپیک های مشابه

  1. پاسخ: 1
    آخرین پست: یک شنبه 15 خرداد 1390, 10:57 صبح
  2. استفاده از راست کلیک موس
    نوشته شده توسط aminzarinjoi در بخش C#‎‎
    پاسخ: 3
    آخرین پست: دوشنبه 26 اردیبهشت 1390, 19:41 عصر
  3. سوال: قرار دادن ایتم در راست کلیک موس
    نوشته شده توسط shytonak در بخش C#‎‎
    پاسخ: 7
    آخرین پست: پنج شنبه 05 اسفند 1389, 03:17 صبح
  4. در اختیار گرفتن راست کلیک موس ... !
    نوشته شده توسط MSN_Issue در بخش PHP
    پاسخ: 6
    آخرین پست: چهارشنبه 06 بهمن 1389, 19:26 عصر
  5. سوال: راست کلیک موس
    نوشته شده توسط MOR_MS در بخش Access
    پاسخ: 1
    آخرین پست: چهارشنبه 27 آبان 1388, 22:59 عصر

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

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