ShowInTaskbar为false时ShowDialog出现问题

时间:2011-07-15 19:10:25

标签: c# winforms

这是一个很小的代码,可以说明我的问题:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        timer1.Interval = 3000;
    }

    private void button1_Click(object sender, EventArgs e)
    {
        timer1.Start();
    }

    private void timer1_Tick(object sender, EventArgs e)
    {
        timer1.Stop();
        using (Form form = new Form())
        {
            form.ShowInTaskbar = false;
            form.ShowDialog();
        }

    }
}

如果我按button1(调用button1_Click)然后点击任务栏中的其他应用程序以使其显示在顶部,然后在5秒后我返回到我的应用程序,创建的表单将不可见,我无法将其重新置于顶部,而我的Form1将无法响应,因为顶部有一个不可见的对话框。

这是一个解决方法?

1 个答案:

答案 0 :(得分:4)

让您的主要表单成为模态框的所有者。

Form form = new Form();
form.Owner = this;
form.ShowInTaskbar = false;
form.ShowDialog();