PDA

View Full Version : مشکل در استفاده از ContextMenuStrip



edisoon
جمعه 19 مهر 1387, 17:19 عصر
من یک DataGridView دارم که میخوام با RightClick یک منو باز بشه و کاربر بتونه هرکدوم از آیتمها رو خواست انتخاب کنه و نسبت به اون عملیاتی انجام بشه.
تا اونجایی که منو رو بسازم و موقع RightClick نمایش بدم مشکلی ندارم ولی نمیدونم چگونه باید بفهمم که کاربر کدوم آیتم از منو رو انتخاب کرده؟
مثلا میخوام اگه آیتم دوم از منو رو انتخاب کرد یک Msgbox نمایش داده شود.

من اینطوری ContextMenuStrip رو Show میکنم. ولی بقیه اش رو بلد نیستم


Private Sub DgvTest_MouseClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DgvTest.MouseClick
If e.Button = Windows.Forms.MouseButtons.Right Then
ContextMenuStrip1.Show(MousePosition)
End If
End Sub

shamsoft
جمعه 19 مهر 1387, 19:00 عصر
1. برای نمایشش بهتره از لیست Property ها، مقدار ContextMenuStrip رو نام ContextMenuStrip خودت بزاری و نیازی به نوشتن کد نیست !

2. برای رویداد کلیک؛ شما وقتی یه منو درست می کنی چجوری رویدادهای آیتمهاش رو Handle می کنی؟ اینم همونجوریه دیگه! کافیه روی آیتم DoubleClick کنی تا وارد پنجره کد بشه

skflower
یک شنبه 23 اسفند 1388, 23:34 عصر
دوستان عزیز کسی میتونه بگه چطور وقتی روی DataGridView راست کلیک میکنیم، علاوه بر راست کلیک، کلیک چپ هم انجام بشه تا اون رکورد یا اون سلول انتخاب بشه.
من توی پروژم لیست کاربران رو توی DataGridView نمایش دادم. حالا میخوام با کلیک راست روی هرکدوم یه منو شامل گزینه هایی مثل ویرایش مشخصات، حذف و افزودن به گروه و غیره موجود باشه.
برای اینکار نیازه که بدونم کاربر روی کدوم سلول کلیک راست کرده.

CodeMasterX
سه شنبه 03 فروردین 1389, 19:42 عصر
کنترل ContextMenuStrip یک رویداد به اسم Opening داره که قبل از بازشدن و نمایش منو اتفاق میفته. میتونی تو این رویداد Row مورد نظر رو Select کنی یا کارای دیگه رو انجام بدی بعد منو رو باز کنی. تو آرگومان های این رویداد هم میتونی درصورت نیاز با تخصیص e.Cancel = True بازشدن منو رو لغو کنی. :لبخندساده:

skflower
چهارشنبه 04 فروردین 1389, 00:56 صبح
کنترل ContextMenuStrip یک رویداد به اسم Opening داره که قبل از بازشدن و نمایش منو اتفاق میفته. میتونی تو این رویداد Row مورد نظر رو Select کنی یا کارای دیگه رو انجام بدی بعد منو رو باز کنی. تو آرگومان های این رویداد هم میتونی درصورت نیاز با تخصیص e.Cancel = True بازشدن منو رو لغو کنی. :لبخندساده:

اینو میدونم. حالا لطف کنید بگید با چه کدی باید Row مورد نظر رو Select کنم؟
با تشکر

CodeMasterX
چهارشنبه 04 فروردین 1389, 05:15 صبح
یکم خودتون با کد ور برین این چیزا نیازی به پست نداره دیگه :لبخند:


DataGridView1.Rows(N).Selected = True

N هم ایندکس مورد نظر هست.