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; } }
Please follow and like us:
コメント