我使用下面的代码在一个新的线程中打开窗体:线程中的TopMost表单?
private void button1_Click(object sender, EventArgs e)
{
Thread thread = new Thread(ThreadProc);
thread.Start();
}
public void ThreadProc()
{
Form form = new Form();
form.TopMost = true;
form.ShowDialog();
}
但新创建的窗体是不是最顶层,即使我将它设置为true。
如何在线程TopMost中创建表单?
好了,所以应该在一个新的线程创建一个表单,并使其成为最顶层的形式?我会试一下 ! thx – syncis 2011-01-20 07:31:31
这实际上没有工作,因为如果我“Application.Run(_form);”在新的线程中它仍然是在一个新的线程,问题将保持,它不会成为最顶层,如果我尝试启动“Application.Run(_form);”没有开始一个新的线程(从主线程开始),然后我得到异常“在单个线程上启动第二个消息循环不是一个有效的操作。” – syncis 2011-01-20 17:10:36
我修改了一个更完整的代码,它为我产生了预期的结果 – 2011-01-20 17:34:05