MenuStrip控件无法显示菜单项的原因

这几天在开发WinForm程序中遇到几个看起来比较诡异的问题。


一个MDI子窗体带一个MenuStrip控件,添加了几个菜单项。在设计器中看起来完全正常,但是一运行,只能看见菜单栏,菜单项却无法显示。几经折腾,发现菜单项被合并到了MDI父窗体的菜单栏。这是由于Menustrip的一个叫做AllowMerge的属性,默认值是TRUE的缘故,改为FALSE就正常了。事后一想,我们常看到的标准MDI程序确实是这样,只有父窗体有菜单栏,随打开不同的子窗体,父窗体的菜单项相应变化。只不过我们这个MDI子窗体更独立一点,希望有自己的菜单栏。


还有一回,发现窗体不会响应鼠标事件。原来是因为窗体上铺满了Panel等控件,这些控件截获了鼠标事件,窗体自然不会响应。正常的做法是在控件上去响应鼠标事件。


通过这几件事,发现自己还是对WinForm的一般开发方法不熟悉。WinForm的许多操作简单易懂,能很快上手。但是也不能完全随心所欲,或者说,所想所做的可能并不是合理合适的。如果有时间,还是应该从头学习一下WinForm开发。另外,要是有一本像《深入浅出MFC》那样的,《深入浅出WinForm》,想必也会对开发有很大帮助,只是目前还没有发现。


最近在做一些很繁琐,自己不太喜欢,但对公司比较有帮助的开发工作。我没有选择迅速完成,而是静下心来,仔细规划,写些整齐的,带注释的代码,写完了也比较有成就感。而且渐渐对原本不喜欢的工作、技术产生了兴趣。又一次验证了我原来的想法,任何事都是有些搞头、有些趣味在里头的。不过也许也只是胸无大志,没有目标的表现罢了,呵呵。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值