0

表示したい非表示のフォームがあります。私はこのような別のものを作成したくありません:

Form1 f1 = new Form1();

通知領域のアイコンを使用しているためです。新しいウィンドウを開くと、複数の通知領域アイコンが表示されます。

以前に非表示にしたフォームを表示する方法はありますか?

4

2 に答える 2

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;
    }
}
于 2013-05-21T10:32:21.183 に答える
0

NotifyIcon コントロールはフォームに格納され、そのイベントはフォームのコンテキストで実行されます。「this」を使用して取得するだけです...

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

NotifyIcon を格納するために非伝統的な方法を使用していない限り?

于 2013-05-21T12:53:29.833 に答える