0
点赞
收藏
分享

微信扫一扫

wm中关闭窗口提示问题


今天在做应用的时候,想让窗口关闭提示,可是遇到了一点麻烦,问题在于wm右上角有两种情况ok和X两种情况,当窗口右上角是x的时候这个时候调用窗体的Closing事件是没有问题的,可是当窗体是ok调用这个事件根本不执行,后来参考了一篇文章,在属性中修改:
原文“在Pocket Pc右上角的有2种按钮,叉和ok,叉代表最小化,ok代表关闭。最小化程序会使得程序占用内存,没有释放内存,会使得系统越跑越慢。

将最小化变为ok,通过设置form的属性MinimizeBox,true为最小化按钮,false为ok按钮。” 当然在wm中无论主窗体你设置true还是false都是显示ok(我也没有明白为啥,主窗体是ok,修改窗体则为X)不过你修改MinimizeBox为false的时候Closing事件就可以执行了,为了就可以进行判断了

private void Form1_Closing(object sender, CancelEventArgs e) 

 { 


 //捕捉窗体Close事件,关闭窗口时提示 

 DialogResult re=MessageBox.Show("保存数据退出(是)直接退出(否)返回请按(取消)", "系统提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2); 

 if ( re== DialogResult.Yes) 

 { 

 menuItem4_Click( sender, e); 



 } 

 else if(re==DialogResult.No) 

 { 


 e.Cancel = false;//允许退出系统 


 } 

 else 


 { 

 e.Cancel = true;//不允许退出系统 

 } 

 }


对于何时出现X何时出现ok我也没有很明白 只是在使用的时候如此进行就可以了,对于x直接进行cloing不许进行比的设置。

如果你想在wm中直接取消右上角的图标 那么在form属性中controlBox属性中选择false就可以。
下面是我看见的一篇不错的博文引用一下
2009-09-10 09:54使用.net 平台开发Mobile程序时,由于是基于移动设备,都和PC有很大差距,要求特别关注内存开销。另外相比PC来说,所支持的API是非常少的,需要经常查SDK。一些小地方若不留意,也会引起麻烦。


比如关于程序退出,即使在Close的event handler里写出处理代码,可是因为属性问题,这段代码并不会被执行。

在Pocket Pc右上角的有2种按钮,叉和ok,叉代表最小化,ok代表关闭。最小化程序会使得程序占用内存,没有释放内存,会使得系统越跑越慢。

将最小化变为ok,通过设置form的属性MinimizeBox,true为最小化按钮,false为ok按钮。

比如关于程序退出,即使在Close的event handler里写出处理代码,可是因为属性问题,这段代码并不会被执行。

在Pocket Pc右上角的有2种按钮,叉和ok,叉代表最小化,ok代表关闭。最小化程序会使得程序占用内存,没有释放内存,会使得系统越跑越慢。

将最小化变为ok,通过设置form的属性MinimizeBox,true为最小化按钮,false为ok按钮。


举报

相关推荐

0 条评论