Qui creiamo un metodo per rimuovere un TabItem. Il metodo accetta un TabItem necessario per essere rimosso come parametro.
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
}
}
Ora Fare doppio clic sulla finestra e aggiungere questo codice all'evento di caricamento della finestra.
// 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
Compilare ed eseguire il progetto. Facendo clic con il tasto destro su Tab1 vedrai un menu a comparsa con l'opzione chiudi per chiudere (rimuovere) quel tabert.
fonte
2013-06-13 06:11:50
WinForms? WPF? ASP.NET? Silverlight? –