[Tips][NotifyIcon] フォームの最小化ボタンが押されたときにタスクトレイにアイコンを表示する

FormクラスResizeイベントを使用するとフォームが最小化されたかどうかを判定することができます。
FormクラスのWindowStateプロパティを参照することで、現在フォームがどのような状態か(最小化されているか最大化されているか)を調べ、最小化されたときにタスクトレイアイコンを表示するようにします。

VBの例

    Private Sub Form4_Resize(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Resize
        'フォームが最小化されたか?
        If Me.WindowState = FormWindowState.Minimized Then
            'フォームを非表示にする
            Me.Visible = False

            'タスクトレイに表示するアイコンを設定する
            Dim ico As New System.Drawing.Icon("cloudservice.ico")
            NotifyIcon1.Icon = ico

            'タスクトレイにアイコンを表示する
            NotifyIcon1.Visible = True
        Else
            'タスクトレイのアイコンを非表示にする
            NotifyIcon1.Visible = True
        End If
    End Sub

C#の例

private void Form4_Resize(object sender, EventArgs e)
{
    if (this.WindowState == FormWindowState.Minimized)
    {
        //フォームを非表示にする
        this.Visible = false;

        //タスクトレイに表示するアイコンを設定する
        System.Drawing.Icon ico = new System.Drawing.Icon("cloudservice.ico");
        notifyIcon1.Icon = ico;

        //タスクトレイにアイコンを表示する
        notifyIcon1.Visible = true;
    }
    else
    {
        // タスクトレイのアイコンを非表示にする
        notifyIcon1.Visible = true;
    }
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.