2013-05-05 42 views
0

我在自定义控件中声明了ContextMenuStrip,并且我似乎找不到控件返回或设置ContextMenuStrip项目集合的方法。 我想这个代码,但它不工作获取并设置ContextMenuStrip项目

class Class1 : Panel 
{ 
    ContextMenuStrip _Menu = new ContextMenuStrip(); 
    public ToolStripItemCollection Items 
    { 
     get { return _Menu.Items; } 
     set { _Menu.Items.AddRange(value); } 
    } 
} 

我怎样才能做到这一点?

回答

0

考试此:

public partial class Form1 : Form 
{ 
    ContextMenuStrip cms = new ContextMenuStrip(); 

    public Form1() 
    { 
     InitializeComponent(); 
     //cms.Items[; 
    } 
    public ToolStripItemCollection ConItems 
    { 
     get 
     { 
      return cms.Items; 
     } 
     set 
     { 
      cms.Items.Clear(); 
      ToolStripItemCollection tsc=(ToolStripItemCollection)value; 
      foreach (ToolStripItem tsi in tsc) 
      { 
       cms.Items.Add(tsi); 
      } 
     } 
    } 

} 
0
// Set 
ContextMenuStrip menu = new ContextMenuStrip(); 
menu.Items.Add(new ToolStripMenuItem("Item1", aNiceImage, someFunction)); 
menu.Items.Add(new ToolStripMenuItem("Item2", alsoNiceImage, someOtherFunction)); 

//Get 
private void contextMenuStrip1_Opening(object sender, CancelEventArgs e) 
{ 
    contextMenuStrip1.Items[3].Select(); 
} 
+0

(http://msdn.microsoft.com/en-us/library/system.windows.forms.contextmenustrip(v=vs.80).aspx) 看到这个链接,如果上面的代码不以任何方式帮助你 – 2013-05-05 10:14:43

+1

这不是我想要的。我想要自定义控件中的一个属性,它返回并设置ContextMenuStrip的项目集合。 – Adrao 2013-05-05 10:16:32

+0

[http://msdn.microsoft.com/en-us/library/system.windows.forms.contextmenustrip.aspx] 它会帮助你确定 – 2013-05-05 10:20:33