次のようなコードがあります。
public form()
{
InitializeComponent();
init(); //read ini and try to minimize
}
private void timer1_Tick(object sender, EventArgs e)
{
}
iniメソッドではフォームを最小化して非表示にします(デバッグではform.visible = falseが表示されます)が、initメソッドを離れるとタイマーにジャンプしてvisible = trueに変更され、タスクバーとトレイにアプリが表示されます。トレイアイコンだけを表示したい。これを使用してフォームからトレイへの移動を最小限に抑えます。
これまでのところ、これを作成しましたが、フォームが表示されたときにフォームがリフレッシュのようなものになり、奇妙に見えるため、間違った方法で実装されている可能性があります。
private void notifyIcon1_Click(object sender, EventArgs e)
{
this.Show();
this.WindowState = FormWindowState.Normal;
}
private void minimizeWindow()//this method is called on form resize
{
if (FormWindowState.Minimized == this.WindowState)
{
notifyIcon1.Visible = true;
this.Hide();
this.ShowInTaskbar = false;
}
else if (FormWindowState.Normal == this.WindowState)
{
notifyIcon1.Visible = false;
this.ShowInTaskbar = true;
}
}