【发布时间】:2012-01-05 22:13:05
【问题描述】:
我创建了一个 WinForm,它显示带有按钮的提示。这是一个自定义的 WinForm 视图,因为消息框对话框是不够的。
我有一个后台工作程序已启动并正在运行。如果单击 myForm 上的按钮,我还想退出 while(aBackgroundWorker.IsBusy) 循环。
//MyProgram.cs
using(CustomForm myForm = new CustomForm())
{
myForm.Show(theFormOwner);
myForm.Refresh();
while(aBackgroundWorker.IsBusy)
{
Thread.Sleep(1);
Application.DoEvents();
}
}
现在,在CustomFormButton_clicked 事件中,我有
//CustomForm.cs
private void theButton_Click(object sender, EventArgs e)
{
this.Close();
}
是否需要向 CustomForm 类或声明和初始化表单的位置添加更多代码才能检测到闭包?
【问题讨论】:
-
你想通知什么窗体/类关闭窗口?
-
写这段代码没有意义。大概有一些 after 这个while循环。将该代码移至该 BGW 的 RunWorkerCompleted 事件处理程序。
标签: c# winforms events event-handling