2013-06-13 12 views

Odpowiedz

12

Tutaj tworzymy metodę usunięcia tabItem. Metoda akceptuje parametr TabItem, który należy usunąć jako parametr.

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 

    } 

    } 

Teraz Kliknij dwukrotnie okno i dodaj ten kod do zdarzenia ładowania okna.

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

Teraz Skompiluj i uruchom projekt. Po kliknięciu prawym klawiszem Tab1 zobaczysz wyskakujące menu z opcją zamknięcia, aby zamknąć (usunąć) tabItem.

+1

Szczegółowe informacje można znaleźć tutaj http://www.redmondpie.com/adding-tabitem-at-runtime-in-a-c-wpf-application/ –

+1

thankyou! dokładnie to, czego potrzebowałem – SandhraPrakash

2

Zakładam, że korzystasz z WinForm, możesz zainicjować klasę ContextMenu w swoim kodzie. Ma on wartość 2 constructor, którą można przekazać jako parametr jako MenuItem.

ContextMenu cm = new ContextMenu(); 

lub

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