在C#的WinForm程序中,有的时候需要判定关闭请求从哪里发出来的。比如是用户点击了右上角的“关闭”按钮,还是调用了WinFormClose()方法。最典型的是要知道点击右上角的“关闭”按钮发出的事件。下面这个方法可以判断这点:
protected
override
void
WndProc(ref
Message
msg)
{
const
int
WM_SYSCOMMAND
=
0x0112;
const
int
SC_CLOSE
=
0xF060;
if
(msgMsg
==
WM_SYSCOMMAND
&&
((int)msgWParam
==
SC_CLOSE))
{
//
点击winform右上关闭按钮
//
加入想要的逻辑处理
return;
}
baseWndProc(ref
msg);
}
1
如用cmdClose按钮关闭当前窗体: Private Sub cmdClose_Click() DoCmdClose End Sub
2
如关闭其他打开的窗体: Private Sub cmdClose_Click() DoCmdClose acForm, "窗体名", acSaveYes '参数:acSaveYes=保存;acSaveNo=不保存;acSavePrompt=提示
1,首先建立一个新的application,在form1的窗体属性boderstyle中选择bsnone
2,在form1上面放一个button,双击button写上事件代码 close
3,按F9运行即可
很久没有用过界面编程了,就当复习一下了,哈哈
如一楼所说的,给按钮加一个监听器ActionListener,写一个实现方法
actionPerformed此时当按钮点击时会调用actionPerformed方法,代码如下:
import javaxswing;
import javaawt;
import javaawtevent;
public class Close extends JFrame implements ActionListener{
JButton close;
public Close(){
close = new JButton("close");//增加一个按钮
add(close);
closeaddActionListener(this);//给按钮增加一个监听器
setLayout(new FlowLayout());
setSize(200,100);
setVisible(true);
setDefaultCloseOperation(JFrameEXIT_ON_CLOSE);
}
//捕捉到按钮点击时的事件处理方法
//按钮点击时一定会自动执行actionPerformed(ActionEvent e)方法
public void actionPerformed(ActionEvent e){
//关闭整个应用程序如果只是是想关闭当前窗口,可以用
//dispose();
Systemexit(0);
}
public static void main(String[] args){
new Close();
}
}
FormClosing事件:
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
ApplicationExit();
}
直接复制就可以用
DialogResult result =MessageBoxShow("您确认关闭当前窗口吗?"," *** 作提示",MessageBoxButtonsYesNo,MessageBoxIconQuestion);
if (result == DialogResultYes)
{
//关闭当前窗口
thisClose();
}
以上就是关于C#中winform中有什么办法区分Close()和点击窗体右上角关闭按钮来关闭窗体全部的内容,包括:C#中winform中有什么办法区分Close()和点击窗体右上角关闭按钮来关闭窗体、access关闭窗体的代码、请用Delphi7设计一个不含系统菜单的窗体,通过添加的按钮实现窗体的关闭等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)