PDA

View Full Version : ساخت کنترل در زمان اجرا



mehran6764
دوشنبه 01 دی 1399, 15:58 عصر
سلام ، وقت بخیر

در مورد ساخت کنترل در زمان اجرا ، هم انگلیسی هم فارسی مطلب تو اینترنت زیاده اما متاسفانه اینکه چطور در زمان اجرا منوها menuStrip با زیر منو بسازیم ،مطلب اموزشی کم هست مثلا اینکه هم منوها
و هم زیرمنوها اسامیشون از دیتاتبل خونده بشه

pe32_64
دوشنبه 01 دی 1399, 17:41 عصر
سلام ، وقت بخیر

در مورد ساخت کنترل در زمان اجرا ، هم انگلیسی هم فارسی مطلب تو اینترنت زیاده اما متاسفانه اینکه چطور در زمان اجرا منوها menuStrip با زیر منو بسازیم ،مطلب اموزشی کم هست مثلا اینکه هم منوها
و هم زیرمنوها اسامیشون از دیتاتبل خونده بشه
https://www.codeproject.com/Questions/302327/Create-a-context-menu-at-runtime-in-Csharp

mehran6764
دوشنبه 01 دی 1399, 20:35 عصر
https://www.codeproject.com/Questions/302327/Create-a-context-menu-at-runtime-in-Csharp

طبق پستی که تو لینک بود من یه پنل بع فرم اضافه کردم
این متد رو تعریف کردم


void MenuItem_Click(object sender, EventArgs e)
{
MenuItem mi = sender as MenuItem;
if (mi != null)
{
MessageBox.Show(mi.Text);
}
}



و تو رویداد کلیک باتن کد پایینی رو نوشتم




MenuItem[] mi = new MenuItem[3];
mi[0] = new MenuItem("Item1", MenuItem_Click);
mi[1] = new MenuItem("Item2", MenuItem_Click);
mi[2] = new MenuItem("Item3", MenuItem_Click);
ContextMenu cm = new ContextMenu(mi);
panel1.ContextMenu = cm;



بــرنامه اجرا میشه اما نه خطایی ایجاد میشه نه منویی مشـاهده میشه
ContextMenu منو با menuStrip فرق داره ، درسته ؟
چون من میخوام منوهام بالای فرم باشه

pe32_64
دوشنبه 01 دی 1399, 21:57 عصر
https://www.c-sharpcorner.com/blogs/create-menustrip-dynamically-in-c-sharp1

mehran6764
دوشنبه 01 دی 1399, 22:47 عصر
https://www.c-sharpcorner.com/blogs/create-menustrip-dynamically-in-c-sharp1

متوجه عملکردش نشدم


https://www.c-sharpcorner.com/blogs/create-menustrip-dynamically-in-c-sharp1

متوجه عملکردش نشدم


https://www.c-sharpcorner.com/blogs/create-menustrip-dynamically-in-c-sharp1

متوجه عملکردش نشدم




public void SubMenu(ToolStripMenuItem MnuItems, string var)
{
if (var == "File")
{
string[] row = new string[] { "New", "Open", "Add", "Close", "Close Solution" };
foreach (string rw in row)
{
ToolStripMenuItem SSMenu = new ToolStripMenuItem(rw, null, ChildClick);
SubMenu(SSMenu, rw);
MnuItems.DropDownItems.Add(SSMenu);
}
}

if (var == "New")
{
string[] row = new string[] { "Project", "Web Site", "File..", "Project From Existing Code" };
foreach (string rw in row)
{
ToolStripMenuItem SSSMenu = new ToolStripMenuItem(rw, null, ChildClick);
MnuItems.DropDownItems.Add(SSSMenu);
}
}
}




private void Form1_Load(object sender, EventArgs e)
{
MenuStrip MnuStrip = new MenuStrip();
//Control is added to the Form using the Add property
this.Controls.Add(MnuStrip);
string[] row = new string[] { "File", "Edit", "View", "Refactor", "Project" };

foreach (string rw in row)
{
ToolStripMenuItem MnuStripItem = new ToolStripMenuItem(rw);

MnuStrip.Items.Add(MnuStripItem);
}




}








public void ChildClick(object sender, System.EventArgs e)
{
MessageBox.Show(string.Concat("You have Clicked '", sender.ToString(), "' Menu"), "Menu Items Event",
MessageBoxButtons.OK, MessageBoxIcon.Information);
}

mehran6764
دوشنبه 01 دی 1399, 22:52 عصر
الان چطور باید ریز منو اضافع کنم ؟

daniyaltjm
سه شنبه 02 دی 1399, 15:59 عصر
قبلا هم توضیح دادم نمیدونم چرا دوباره سوال رو تکرار کردین!!:متفکر::متفکر::متفکر:: تفکر::متفکر:

https://barnamenevis.org/showthread.php?561804-%D8%A7%D8%B6%D8%A7%D9%81%D9%87-%DA%A9%D8%B1%D8%AF%D9%86-%D8%B2%DB%8C%D8%B1-%D9%85%D9%86%D9%88-%D8%A8%D9%87-menuStrip&p=2432887&highlight=#post2432887

mehran6764
سه شنبه 02 دی 1399, 20:46 عصر
قبلا هم توضیح دادم نمیدونم چرا دوباره سوال رو تکرار کردین!!:متفکر::متفکر::متفکر:: تفکر::متفکر:

https://barnamenevis.org/showthread.php?561804-%D8%A7%D8%B6%D8%A7%D9%81%D9%87-%DA%A9%D8%B1%D8%AF%D9%86-%D8%B2%DB%8C%D8%B1-%D9%85%D9%86%D9%88-%D8%A8%D9%87-menuStrip&p=2432887&highlight=#post2432887


عجیبه ، یادم رفته بود
درحواست حذف تاپیک رو به مدیرا ارسال می کنم