-1

タスクバー ボタンのようなクリック機能を備えた Windows フォーム アプリケーションの notifyIcon が必要です。

  • フォームが他のアプリケーションの上にある場合。アクティブ化されている場合、notifyIcon をクリックすると、アプリケーションのウィンドウを最小化する必要があります。
  • フォームが他のアプリケーションの下にある場合。非アクティブ化されているが最小化されていない場合、notifyIcon をクリックすると、アプリケーションのウィンドウがアクティブ化される必要があります。
  • アプリケーションが最小化されている場合、notifyIcon をクリックすると、アプリケーションのウィンドウが最大化される必要があります。

フォームの Deactivate イベントと notifyIcon の Click イベントは既に試しましたが、C# ではフォームの Deactivate イベントが notifyIcon の Click イベントの前にコンパイルされるようです。

ここで、タスクバーをクリックしてアプリケーションがアクティブ化されているかどうかを検出する方法を見つけましたが、非アクティブ化の同じ方法は見つかりませんでした。

4

1 に答える 1

0

これを試して..

private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
    {
        if (this.WindowState == FormWindowState.Minimized) 
        { 
            this.Show(); 
            this.WindowState = FormWindowState.Normal; 
        }
        else 
        {
            this.WindowState = FormWindowState.Minimized; 
            this.Hide(); 
        }
        this.Activate();
    }

これは notifyIcon DoubleClick イベントです。

于 2012-09-30T13:25:41.953 に答える