我有一个问题,设计师不会将继承ContextMenuStrip
添加到components
。下面是如何重现问题:设计器和继承ContextMenuStrip
- 创建新项目(Windows窗体应用程序)。
通过设计师添加到窗体
ContextMenuStrip
,就会产生这样的:private void InitializeComponent() { this.components = new System.ComponentModel.Container(); this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); ... }
创建
MyContextMenuStrip
类:public class MyContextMenuStrip : ContextMenuStrip { }
编译并通过设计添加到窗体
MyContextMenuStrip
,就会产生此:private void InitializeComponent() { this.components = new System.ComponentModel.Container(); this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); this.myContextMenuStrip1 = new WindowsFormsApplication1.MyContextMenuStrip(); ... }
WTF?为什么它不会将MyContextMenuStrip
添加到组件中?
而我需要菜单出现在components
为我的本地化经理(自动翻译菜单)。我是否忘记了一些属性,接口或重写?
谢谢,已经就要另一种方式(枚举和控制检查他们的'Control.ContextMenuStrip'),但它不能很好地工作(如果'MyContextMenuStrip'没有被分配给任何一个控件,并且假设以编程方式显示 - 那么我找不到它)..然后你来了这里= D – Sinatr 2013-04-11 08:49:17
@Sinatr谢谢你,我学到了一些东西,你的问题已经很好地解决了。 – 2013-04-11 15:04:19