PDA

View Full Version : سوال: ایجاد منوی راست کلیک بر روی دیتا گرید ویو



pesare
پنج شنبه 20 تیر 1392, 11:46 صبح
سلام دوستان

چطوری میشه روی دیتا گریدویو منوی راست کلیک ایجاد کرد؟ من از منو استریپ توی فرم استفاده نمیکنم .

Hkarimi
پنج شنبه 20 تیر 1392, 12:07 عصر
سلام.
راست کلیک یه نوع منوئه دیگه. با استفاده از ContextMenuStrip هم اضافه میشه. شما یه ContextMenuStrip بذا رو فرمت و منوی راست کلیکت رو طراحی کن بعد توی رویداد کلیک DataGridView بگو اگه کلید فشرده شده برابر با کلید سمت راست ماوس بود منو رو توی موقعیت جایی که کلیک شده نمایش بده.

pesare
پنج شنبه 20 تیر 1392, 12:10 عصر
نمی خوام از ContextMenuStrip استفاده کنم

Hkarimi
پنج شنبه 20 تیر 1392, 12:13 عصر
پس چجوری میخوای راست کلیک بسازی. چرا نمیخوای از ContextMenuStrip استفاده کنی؟ مشکلی توی استفاده ازش داری یا کلاً باهاش پدر کشتگی داری و نمیخوای ازش استفاده کنی؟

pesare
پنج شنبه 20 تیر 1392, 12:45 عصر
اینطوری ساختم :


ContextMenu Main = new ContextMenu();
MenuItem Item1 = new MenuItem("منوی");
Main.MenuItems.AddRange(new MenuItem[] { Item1 });
Item1.Click += new EventHandler(Item1_Click);

حلا برای Item1_Click تابع مورد نظر رو مینویسیم



private void Item1_Click(object sender,EventArgs e)
{
// کارهایی که میخواییم تو کلیک روی منو انجام بشه
}

Sal_64
پنج شنبه 20 تیر 1392, 12:49 عصر
نمی خوام از ContextMenuStrip استفاده کنم

اگه نمیخوای از ContextMenuStrip استفاده کنی و همینطور از کامپوننت آماد دیگه ای
خب خودت باید شبیه سازیش کنی مثلا داخل یه پنل تعدادی باتم بذاری و برای رویداد کلیکشون کارهات تعریف کنی و سپس مخفیش کنی، بعدش در رویداد کلیک دیتاگرید د رمختصات کلیک شده نمایشش بدی و ...

pesare
پنج شنبه 20 تیر 1392, 12:57 عصر
اگه نمیخوای از ContextMenuStrip استفاده کنی و همینطور از کامپوننت آماد دیگه ای
خب خودت باید شبیه سازیش کنی مثلا داخل یه پنل تعدادی باتم بذاری و برای رویداد کلیکشون کارهات تعریف کنی و سپس مخفیش کنی، بعدش در رویداد کلیک دیتاگرید د رمختصات کلیک شده نمایشش بدی و ...

با روش بالا کاملا انجام شد , چون توی فرمم هیچ منویی نداشتم نمیخواستم از شی contextmenustrip رو فرمم استفاده کنم .

fool66
پنج شنبه 20 تیر 1392, 13:03 عصر
آموزش ایجاد منوی راست کلیک با کد (http://barnamenevis.org/showthread.php?396960)

mhsmity
پنج شنبه 20 تیر 1392, 13:10 عصر
private void dgv_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Right)
{
NmaeColumnSelTemp = dgv.Columns[e.ColumnIndex].Name;
if (dgv.Columns[e.ColumnIndex].Name != "radif")
{
MeuHideColumn.Items[0].Visible = true;
MeuHideColumn.Show(Cursor.Position);
}
else
{
MeuHideColumn.Items[0].Visible = false;
MeuHideColumn.Show(Cursor.Position);
}

if (NmaeColumnSel.Count == 0)
MeuHideColumn.Items["undoToolStripMenuItem"].Enabled = false;
else
MeuHideColumn.Items["undoToolStripMenuItem"].Enabled = true;
}
InertRed();

}