C#关于关闭窗体事件!

C#关于关闭窗体事件!,第1张

你是不是要在用户点击关闭时 提示用户是否关闭程序??

这样的话 没必要再加一个Form2啦

直接为Form1添加一个Form1_FormClosing事件在事搜乎件中写入以下代码

private void Form1_FormClosing(object sender, FormClosingEventArgs e)

{

if (DialogResult.OK == MessageBox.Show("你确猛老定要关闭应用程序吗?", "关闭提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question))

{

this.FormClosing -= new FormClosingEventHandler(this.Form1_FormClosing)//为保证Application.Exit()时不再d出提示,所以将FormClosing事件取消

Application.Exit()//退出整个应用程序

}

else

{

e.Cancel = true //取消关闭事件世知悉

}

}

如果你确定想这样做 也可以 在Form1代码:

private void Form1_FormClosing(object sender, FormClosingEventArgs e)

{

e.Cancel = true//取消关闭事件

Form2 f2 = new Form2()

if (DialogResult.OK == f2.ShowDialog())//让Form2以模式窗口显示,就是说Form2显示时 Form1无法成为焦点

{

this.FormClosing -= new FormClosingEventHandler(this.Form1_FormClosing)//为保证Application.Exit()时不再d出提示,所以将FormClosing事件取消

Application.Exit()

}

}

Form2中两个按钮事件代码:

private void btnOK_Click(object sender, EventArgs e)

{

DialogResult = DialogResult.OK

}

private void btnCancel_Click(object sender, EventArgs e)

{

DialogResult = DialogResult.Cancel

}

你想在button b1 添加一个功能,一按取消就会退出窗口

应该使用ActionListener 它是用于接收 *** 作事件的侦听器接口。对处理 *** 作事件感兴趣的类可以实现此接口,而使用该类创建的对象可使用组件的 addActionListener 方法向该组件注册。在发生 *** 作事件时,调用该对象的 actionPerformed 方法。

而你使用的WindowAdapter是接收窗口事件的,所以你的button用它是不会触发事件的。

正确的写法应该是修改你的BUttonsb1类,如下:

class Buttonsb1 implements ActionListener {

public void actionPerformed(ActionEvent e) {

//当点击的按钮为取消时,关闭程序

if("取消".equals((e.getActionCommand()))) {

System.exit(0)

}

/**

* 其他按含芦钮事件也可在链袜这里进行判断。

*e.getActionCommand()返回与此棚老激动作相关的命令字符串

*e.getSource()这个方法是返回组件的对象名,

* 因为你写的对象名是局部变量所以这地方没法使用。

* 建议你把这一块好好看一下JDK 的帮助文件

*/

}

}

PS:有问题可百度Hi我!~


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12439583.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存