垃圾在开发winfrom下动态菜单遇到的问题

本文记录了使用DevExpress xtraBar3程序集开发动态菜单的过程及遇到的问题。从初始使用多维数组构建菜单到改进为datatable结构,再到解决菜单项不显示等问题,以及最终实现窗口间的数据传递。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在开发动态菜单时,使用了DevExpress的xtraBar3程序集。随后参考了http://news.50004.com/info/12194.html关于创建动态菜单的方法。在实际开发过程中,问题还真不少。。

因为使用http://news.50004.com/info/12194.html的方法构建菜单时,使用了多个二维数组来保存菜单的名称、事件、调用dll的方法、快捷键(我加的),所以直接导致菜单列表主次关系不明确,只能通过itemID来进行定位(啊,恶梦开始了)。由于使用的是GetNewItemId()来进行itemid的分配,使得itemid与xml文件中的对应关系是错误的。晕……。当然,事件肯定也就指向错误喽。。

进行调整,为了让其主次关系更加明显,便于查错,更改xml结构为datatable构架,嘿嘿……把他用datatable.readxml()方法读到datatable中岂不是更好,代码量还少不说,定位啊、维护啊什么的少了不少事。加载个datagrid没事还能looklook。hoho~~~`

这个问题解决了,终于看见窗口蹦出来了,上面摆着一个bar,可就是没有item?晕掉……咋就不对劲呢?咋就不对劲呢?查完所有代码,没发现有错误,属性统统正确。郁闷……。

突然看到机子内存剩了不到40M了,是不是因为窗口没有刷新造成的?试※……

在增加菜单的方法后面加入方法this.Refresh();正常了……哇哈哈。。。奇怪的问题!

做到这里突然又意识到一个问题:MyForms 类是个扩容起来非常麻烦的类!里面打开窗口的方法都是写死的,这意味着如果增加一个窗口就要对这个文件进行改写……爷爷的。。

改吧。。最后在xml中增加了对于窗口类的定义,hoho~~~只要放入dll,在维护一下xml就可以使用这个新增窗口的功能了。嘿嘿……。

又有问题。。类都保露在xml中,可不是什么好事情。。再写方法加密下※嘿嘿……

??又发现问题。。缺少对于菜单权限的管理。。。我改……。

??xml文件维护起来真麻烦。。加入xml维护功能。。

在写了几个dll后,挺有成就感,得意的笑一下。。又突然想起个问题。。没有建立窗口之间数据传递的方法。。巨汗……。。。。

改个软件咋就这么费劲呢……郁闷啊。。。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值