检索隐藏的表单

时间:2013-05-21 10:30:48

标签: c#

我有一个隐藏的表单,我想展示。我不想创建另一个这样的:

Form1 f1 = new Form1();

因为我正在使用通知区域图标。打开新窗口时,我会收到多个通知区域图标。

那么有没有办法展示我之前隐藏的形式?

2 个答案:

答案 0 :(得分:4)

LINQ方式:

var frm = Application.OpenForms.OfType<Form>().FirstOrDefault(x => x.GetType() == typeof(Form1));

if (frm != null)
{
   frm.Show();
}

或只是迭代Application.OpenForms

foreach (var form in Application.OpenForms)
{
    if (form is Form1)
    {
         form.Show();
         break;
    }
}

答案 1 :(得分:0)

NotifyIcon控件位于Form中,其事件在表单的上下文中运行。只需使用“this”来检索它......

    private void notifyIcon1_Click(object sender, EventArgs e)
    {
        if (this.WindowState == FormWindowState.Minimized)
        {
            this.WindowState = FormWindowState.Normal;
        }
        this.Show();
    }

除非您使用非传统方法来存放NotifyIcon?