我正在使用VS 2008,我想添加一個contextMenu(絕對不是ContextMenuStrip
!!)到我的應用程序。工具箱中沒有contextMenu(!!)。那麼,我怎樣才能以編程方式將其添加到我的代碼?如何以編程方式在C#(VS 2008)中添加contextMenu?
由於事先
我正在使用VS 2008,我想添加一個contextMenu(絕對不是ContextMenuStrip
!!)到我的應用程序。工具箱中沒有contextMenu(!!)。那麼,我怎樣才能以編程方式將其添加到我的代碼?如何以編程方式在C#(VS 2008)中添加contextMenu?
由於事先
這裏我們創建刪除的TabItem的方法。該方法接受需要作爲參數刪除的TabItem。
private void closeTabItem(TabItem item)
{
if (item != null)
{
// find the parent tab control
TabControl tabControl = item.Parent as TabControl;
if (tabControl != null)
tabControl.Items.Remove(item); // remove tabItem
}
}
現在雙擊窗口並將此代碼添加到窗口加載事件。
// Create Context Menu
ContextMenu contextMenu1;
contextMenu1 = new ContextMenu();
//Create menu items
MenuItem menuItem1;
menuItem1 = new MenuItem();
//add menu item in context menu
contextMenu1.Items.Add(menuItem1);
menuItem1.Header = "Close"; // define name of context menu
//Create Tab Items
TabItem Item1 = new TabItem();
Item1.Header = "Tab1";
TabItem Item2 = new TabItem();
Item2.Header = "Tab2";
// define clicking event of menuitem
menuItem1.Click += delegate { closeTabItem(Item1); };
// Incorporate context menu with tab items
Item1.ContextMenu = contextMenu1;
//Create tab Control
TabControl tabControl1 = new TabControl();
//Insert Tab Items in Tab Control
tabControl1.Items.Add(Item1);
tabControl1.Items.Add(Item2);
Master.Childer.Add(tabControl1); // Insert Tab Control in Master Grid
現在編譯並執行該項目。在右鍵單擊Tab1時,您將看到一個彈出菜單,其中包含close選項以關閉(刪除)該tabItem。
詳細信息可以在這裏找到http://www.redmondpie.com/adding-tabitem-at-runtime-in-a-c-wpf-application/ –
謝謝!正是我需要的 – SandhraPrakash
我假設你使用Winforms,你可以在你的代碼中初始化ContextMenu
類。它有一個2 constructor您可以通過MenuItem
作爲參數。
ContextMenu cm = new ContextMenu();
或
ContextMenu cm1 = new ContextMenu(new MenuItem[]);
ContextMenu context = new ContextMenu();
context.Items.Add(new MenuItem().Header = "Add To Favorites");
的WinForms? WPF? ASP.NET? Silverlight的? –