2013-06-13 24 views

Antwort

12

Hier schaffen wir ein Verfahren zur Herstellung eines TabItem zu entfernen. Die Methode akzeptiert ein TabItem, das als Parameter entfernt werden muss.

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 

    } 

    } 

Jetzt doppelklicken Sie auf das Fenster und fügen Sie diesen Code zum Fensterladeereignis hinzu.

// 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 

Jetzt kompilieren und das Projekt ausführen. Wenn Sie mit der rechten Maustaste auf Tab1 klicken, sehen Sie ein Popup-Menü mit der Option close (schließen), um das tabItem zu schließen.

+1

Detailinformationen finden Sie hier http://www.redmondpie.com/adding-tabitem-at-runtime-in-a-c-wpf-application/ –

+1

danke! genau das, was ich brauchte – SandhraPrakash

2

Ich nehme an, Sie verwenden Winforms, können Sie ContextMenu Klasse in Ihrem Code initialisieren. Es hat einen 2 constructor, den Sie als Parameter MenuItem übergeben können.

ContextMenu cm = new ContextMenu(); 

oder

ContextMenu cm1 = new ContextMenu(new MenuItem[]); 
-2
ContextMenu context = new ContextMenu(); 
context.Items.Add(new MenuItem().Header = "Add To Favorites");