form.show()的行为类似于form.showDialog()

时间:2016-02-11 22:09:47

标签: c# showdialog

我有一个非常奇怪的问题。 我正在运行一个需要一些时间的过程,在此期间我想显示一个模态窗口。 这是我的代码:

Task.Factory.StartNew(() =>
{
    Process[] FileProcess = Process.GetProcessesByName("SomeFile.exe");

    if (FileProcess.Length == 1)
        wait_debug.ShowDialog();
        wait_debug.TopMost = true;
});

Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.FileName = "SomeFile.exe";
p.StartInfo.WorkingDirectory = work_directory;
p.EnableRaisingEvents = true;
p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
p.Start();

也许我把它搞混了,但把'wait_debug.showdialog'放在一个帖子里是不对的?

我把它放在首位的重点是使其成为模态,但如果我使用Show(),它就会卡住。

我得到各种奇怪的东西......有人可以帮我指出正确的方向吗?

我希望'wait_debug'窗口位于顶部并且是模态的,而进程正在运行。

无论我尝试什么,我都无法让它发挥作用。有时wait_debug表单会被卡住,即使它是modaless(这个表单中有一个取消按钮,还有一些图形 - 它们都被卡住了,即使下面的表单是响应的,几秒钟之后 - 一切都崩溃了。)

谢谢。

0 个答案:

没有答案