【发布时间】:2012-02-27 17:18:18
【问题描述】:
我有一个以我的主窗体开头的线程
private void changePasswordbutton_Click_1(object sender, EventArgs e)
{
waitForm.Show();
Thread thread = new Thread(ProcessInkPresenter);
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
thread.Join();
waitForm.Hide();
waitForm.Dispose();
}
我想关闭 ProcessInkPresenter 方法(在线程上运行)中的 waitForm,而不是等待线程完成。
我该怎么做?
谢谢
方法签名
private void ProcessInkPresenter()
在类头中定义
Wait waitForm;
【问题讨论】:
-
stackoverflow.com/a/8443732/555547 会起作用吗?不确定线程连接如何影响它。
-
你为什么在这里使用线程?为什么不直接在其他表单上调用 ShowDialog 呢?
-
这是一个非常复杂的故事。我需要一个线程来使用 Watin 功能。该线程解析 HTML 以查看密码是否已更改。所以如果成功,我需要让 WaitForm 消失。我们只知道它是否从线程内部成功。我不能在线程内部使用 WaitFoorm.Close,因为 .Net 不允许!
标签: c# .net winforms multithreading c#-4.0