2013-06-13 5 views
8

मैं वीएस 2008 का उपयोग कर रहा हूं, और मैं अपने आवेदन में एक संदर्भमेनू (निश्चित रूप से ContextMenuStrip !!) जोड़ना चाहता हूं। टूलबॉक्स में कोई संदर्भ मेनू (!!) नहीं है। तो मैं इसे अपने कोड में प्रोग्रामेटिक रूप से कैसे जोड़ सकता हूं?सी # (वीएस 2008) में प्रोग्राममेनिक रूप से संदर्भ मेनू कैसे जोड़ें?

अग्रिम धन्यवाद,

+2

Winforms? WPF? ASP.NET? सिल्वरलाइट? –

उत्तर

12

यहाँ हम एक 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 

अब परियोजना को संकलित और निष्पादित करें। टैब 1 पर राइट क्लिक पर आप उस टैब को बंद करने (निकालने) बंद करने के करीब विकल्प के साथ एक पॉप-अप मेनू देखेंगे।

+1

विस्तृत जानकारी यहां पाई जा सकती है http://www.redmondpie.com/adding-tabitem-at-runtime-in-a-c-wpf-application/ –

+1

धन्यवाद! मुझे जिस चीज की जरूरत थी – SandhraPrakash

2

मुझे लगता है कि आप Winforms का उपयोग करते हैं, तो आप अपने कोड में ContextMenu कक्षा प्रारंभ कर सकते हैं। इसमें 2 constructor है जो आप पैरामीटर के रूप में MenuItem पास कर सकते हैं।

ContextMenu cm = new ContextMenu(); 

या

ContextMenu cm1 = new ContextMenu(new MenuItem[]); 
-2
ContextMenu context = new ContextMenu(); 
context.Items.Add(new MenuItem().Header = "Add To Favorites"); 
संबंधित मुद्दे