我想做一个XP风格的菜单控件,命名空间下有两个类,一个是继承自mainMenu(xMainMenu),一个继承自menuItem(xMenuItem),我现在想让xMainMenu在执行xMainMenu.MenuItem.Add()方法的时候加入的是我提xMenuItem,而不是普通的MenuItem。想了半天没有什么头绪,是不是要对Menu.MenuItemCollection动什么手脚呢?
namespace xMenu{
public class xMainMenu:System.Windows.Forms.MainMenu{
}
private class xMenuItem:System.Windows.Forms.MenuItem{ }
}
namespace xMenu{
public class xMainMenu:System.Windows.Forms.MainMenu{
}
private class xMenuItem:System.Windows.Forms.MenuItem{ }
}
解决方案 »
- C#基础问题希望得到您的帮助2
- 在结构体初始化过程中,可以获得结构体大小吗?
- 流媒体播放页面上的播放器是如何实现的
- 一个老问题了,webbrowser怎样才能屏蔽弹出的脚本错误提示,网上的都不行,我是.net4.0,哪位大仙有妙招?
- 水晶报表(我现在要做一个水晶报表,是线图的。)
- 怎么在代码中设置dataGridView中的某个单元格为选定状态?
- 全球化,太不爽,资源包,没地放,调不到,吃不着,各位朋友来帮忙啊来帮忙!
- .NET中关于水晶报表的问题
- winform中DataGrid总是第一行第一列灰掉的情况,刷新也没有用,解决马上给分!
- VC做的COM方法中输入参数是variant类型的数组,在C#中应怎样传入?
- 关于一个下拉菜单的问题,请高手帮帮忙?谢谢了!
- 文件存入Oracle数据库的BLOB类型(大对象)字段的代码,并问些相关问题
xMainMenu重写MenuItems,返回这个xMenuItemCollection,每当发生操作,xMainMenu对父类Menu.MenuItems进行相应操作。
因为Menu.MenuItems并不是virtual的,所以用户将xMainMenu转换Menu后还能加入MenuItem,上述仅仅是个封装。操作集合时要进行类型判断。
如果你想创建控件,我建议xMainMenu从ContainerComponent继承,xMenuItem从Component继承,自己重写,Menu个人以为是较难重写的控件之一