13 years C/C++/C# programing, focus on embedded and mobile device development.

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

在程序中应用MessageBox弹出错误提示消息的时候,当点击OK按钮后,发现MainMenu上面的软键盘图标消失了,必须手工点击一次才能出现。虽然不影响正常功能的使用,但是对于PDA菜鸟来说可能会感到很迷惑,尝试了很多刷新界面的方法都无法解决。

这种稀奇古怪的问题在百度上一般是找不到答案的,直接到Google上查询,发现老外也遇到这个问题:
http://www.dotnet247.com/247reference/msgs/44/220736.aspx
并且没有具体可行的解决方法。

搞笑的是有人也发现了这个BUG,但他很聪明, 做了一个叫做MsgBox shareware library 的共享软件,有提到解决了这个BUG,但没有提供源码,对我来说也是没有用处:
http://www.mpegtv.com/wince/msgbox/

但从这里我得到了一点启发:SIP和MainMenu是一个整体的,我试着将窗体的Menu设置为NULL,然后重新设置其Menu属性,经过测试居然成功了,呵呵。

            MessageBox.Show("Demo error""Error", MessageBoxButtons.OK, MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1);
            
this.Menu = null;
            
this.Menu = this.mainMenu1;

遇到这些问题真的是头大,有时候问题解决了都不知道是什么原因的。

posted on 2007-09-04 17:25  woaiusd  阅读(390)  评论(1编辑  收藏  举报