VS2010
ChildForm:Form1
MDIForm:Form2
我的Form1在进行打印任务时,事件里面写了e.Cancel=true,直接关闭窗体是不可以关闭的
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (zt == true)
{
MessageBox.Show("打印任务还没有结束,禁止退出程序!", "正在进行打印BOM", MessageBoxButtons.OK, MessageBoxIcon.Error);
e.Cancel = true;
this.Visible = true;
}
}
当Form1在Form2中显示时,关闭Form2也是不允许关闭的
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
foreach (Form fr in this.MdiChildren)
{
if (!fr.IsDisposed)
{
fr.Close();
}
}
}
问题是下面:
当Form1.Visible=false;之后,关闭Form2时,调试发现不会执行Form1的Closing事件,程序仍然可以关闭,要怎么做不管Form1是否隐藏,都会执行Form1的Closing事件vs2010关闭子窗体禁止程序退出
ChildForm:Form1
MDIForm:Form2
我的Form1在进行打印任务时,事件里面写了e.Cancel=true,直接关闭窗体是不可以关闭的
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (zt == true)
{
MessageBox.Show("打印任务还没有结束,禁止退出程序!", "正在进行打印BOM", MessageBoxButtons.OK, MessageBoxIcon.Error);
e.Cancel = true;
this.Visible = true;
}
}
当Form1在Form2中显示时,关闭Form2也是不允许关闭的
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
foreach (Form fr in this.MdiChildren)
{
if (!fr.IsDisposed)
{
fr.Close();
}
}
}
问题是下面:
当Form1.Visible=false;之后,关闭Form2时,调试发现不会执行Form1的Closing事件,程序仍然可以关闭,要怎么做不管Form1是否隐藏,都会执行Form1的Closing事件vs2010关闭子窗体禁止程序退出
解决方案 »
- 进来讨论一下。。。。。。
- Infragistics netadvanage中ultragrid展示多条数据时,出现多界面
- c# dll regsvr32的问题 ?
- ``C#网页程序的文本限制输入```
- 怎样在C1.Win.C1FlexGrid.CellStyleCollection里面添加checkBox?
- QQ群:3665951,delphi、vs.net交流,欢迎加入
- 怎么样做出不规则形状的按钮.
- 在dataGrid邦定dataset数据集后,怎样来隐藏一列呢?来一下怎么不对啊
- DllImport特性为什么没能找到我自定义的dll呢?
- 无法解决这问题就怒挂东南枝了
- C# XML操作类
- [小工具] NET_IL命令查询器
thread thprint = new Thread(new ThreadStart(print)); print就是你的打印方法 thprint.start();
然后就能判断thprint对象有方法判断线程(打印)过程结没结束百度下多线程吧,希望对你有帮助
{
if (fr.Visible == false)
{
fr.Visible = true;
fr.Close();
}
}我加入了这样一个判断之后,虽然会弹出子窗体关闭程序的消息,即运行了子窗体的关闭事件,但最后程序还是关闭了,请教怎么解决?
public static List<string> IsClose=new List<string>();
在每个要执行的代码里IsClose.dd(this.Name);
完成时IsClose.Remove(this.Name);
关闭程序时判断IsClose的Clount=0就关闭,否则提示有任务未完成。