PDA

View Full Version : سوال: کلیک راست روی DataGridView



unique1984
چهارشنبه 06 خرداد 1388, 11:10 صبح
با سلام
من یک دیتا گریدویو دارم و می خوام وقتی روی اون کلیک راست کردم با توجه به مقدار یکی از فیلدهای سطر انتخاب شده ، یک منوی خاص باز بشه(چند تا منو وجود داره)
کد زیر رو نوشتم اما، درست جواب نمیده . منوها رو اشتباه نشون میده


private void DGV_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
if (DGV.CurrentRow.Cells["Field1"].Value.ToString() == "1")
DGV.ContextMenuStrip = Menu1;
else
if (DGV.CurrentRow.Cells["Field1"].Value.ToString() == "2")
DGV.ContextMenuStrip = Menu2;
}

seven7777777
چهارشنبه 06 خرداد 1388, 11:15 صبح
یعنی چی اشتباه نشون میده ، یعنی منوی بجای 1 منوی 2 و بجای 2 منوی 1 رو نشون میده یا اینکه همیشه یه منو رو نشون میده ؟

Reza_Yarahmadi
چهارشنبه 06 خرداد 1388, 12:21 عصر
سلام
به نظرم مشکلش در رویداد انتخابیه اگه این کد رو توی رویداد MouseDown بنویسید احتمالا مشکلتون حل بشه
موفق باشید

farzadpmh
دوشنبه 13 دی 1389, 19:41 عصر
وقتی میخوام روی یه Row کلیک راست کنم و ContextMenu رو نشون بدم اول باید یه بار Row مورد نظر رو انتخاب، و بعدش کلیک راست کنم. آیا امکانش هست که بشه این کار رو مستقیما" انجام داد یعنی دیگه اول Row انتخاب نشه بعد...؟