10

Windows Messenger、AVG、Norton などで表示されるようなポップアップ バルーンを作成するにはどうすればよいですか?

情報を表示して、数秒後にスライドして離したいです。

編集:通知を表示した後にプログラムが終了するため、Form.ShowDialog() のようにブロックする必要があります

4

3 に答える 3

21

.NET2.0System.Windows.Formsの一部であるnotifyIconコントロールを使用できます。これにより、アプリケーションのアイコンをシステムトレイに配置できます。次に、その上でShowBalloonTip(int timeOut)メソッドを呼び出すことができます。ただし、それが機能するように、notifyIconのテキストとアイコンのプロパティを最初に設定してください。小さなコードサンプル:

private void button1_Click(object sender, EventArgs e)
        {
            this.notifyIcon1.BalloonTipText = "Whatever";
            this.notifyIcon1.BalloonTipTitle = "Title";
            this.notifyIcon1.Icon = new Icon("icon.ico");
            this.notifyIcon1.Visible = true;
            this.notifyIcon1.ShowBalloonTip(3);
        }

編集:わかりました、それでnotifyIconはあなたのために働きません。次に、私の2番目の提案は、これに対して独自のコントロールを作成することです。実はフォームを使います。境界線やコントロールボックスがなく、タイマーが実行されているだけのシンプルなフォームなので、フェードイン/フェードアウトの不透明度を設定できます。次に、Rectangle Screen.PrimaryScreen.WorkingAreaを使用して、画面の右下を簡単に取得できます。次に、その位置にフォームを表示します。

于 2009-01-05T16:37:17.947 に答える
11

モーダル (ブロッキング) バルーンを作成しないでください。お願いします。これらの UI の設計の大部分は、ダイアログではないということです。それらは一時的で、潜在的に非対話的な要素であり、ユーザーのワークフローを必ずしも中断することなく、ユーザーに付随的な情報を提供することを目的としています。フォーカスを盗んでユーザー入力をブロックするバルーンは、せいぜいイライラするだけです。ダイアログが必要な場合は、ダイアログを使用してください。

于 2009-01-05T17:23:18.667 に答える
1

.NET 1.1 Visual BasicPowerPackにはトースターコントロールがありました。

于 2009-01-05T16:46:07.210 に答える