12

私はform1_loadの下でこのコードを使用しています

notifyIcon1.Visible = true; 
notifyIcon1.ShowBalloonTip(5000, "Welcome", "Hello " + User, ToolTipIcon.Info); 

登録を確認したところ、値は1でした。バルーンが表示されないのはなぜですか。通知アイコンからアイコンがあります。そしてそれが現れています。バルーンはそうではありません!

4

3 に答える 3

19

このようにアイコンを設定するのを忘れたようです

notifyIcon1.Icon = SystemIcons.Exclamation;
notifyIcon1.Visible = true; 
notifyIcon1.ShowBalloonTip(5000, "Welcome", "Hello " + User, ToolTipIcon.Info); 

また、NI http://www.csharp411.com/notifyiconshowballoontip-issues/に関する問題の詳細については、こちらをお読みください。

于 2012-07-01T19:56:13.503 に答える
15

フォームのロード イベントにある残りのコードを投稿する必要がある場合がありますが、いくつかの提案があります。

  1. フォームの Load イベントが実際に接続されていることを確認してください。
  2. 通知アイコンにアイコンが割り当てられていることを確認してください。

また、バルーン ヒントが表示されるとは限らないことに注意してください。msdn の NotifyIcon.ShowBalloonTipメソッドの記事の備考セクションを参照してください。

備考
最小タイムアウト値と最大タイムアウト値はオペレーティング システムによって強制され、通常はそれぞれ 10 秒と 30 秒ですが、これはオペレーティング システムによって異なります。大きすぎるまたは小さすぎるタイムアウト値は、適切な最小値または最大値に調整されます。さらに、ユーザーがコンピューターを使用していないように見える場合 (キーボードまたはマウスのイベントが発生していない場合)、システムは今回はタイムアウトにカウントしません。

一度にタスク バーに表示できるバルーン ヒントは 1 つだけです。現在タスクバーに表示されているバルーン ヒントを表示しようとすると、タイムアウト値が無視されます。動作は、オペレーティング システムと、バルーン ヒントが別のアプリケーションからのものか、同じアプリケーションからのものかによって、若干異なります。2 番目のバルーン ヒントが別のアプリケーションからのものである場合、タイムアウトの値に関係なく、2 番目のバルーン ヒントが表示される前に、最初のバルーン ヒントが最小タイムアウト値で表示されます。ほとんどの場合、バルーン ヒントが同じアプリケーションからのものである場合、ShowBalloonTip メソッドへの別の呼び出しが行われると、最初のバルーン ヒントはすぐに閉じます。場合によっては、最初のバルーンの上に 2 番目のバルーンが開きます。

タイトル テキストは、バルーンの上部近くに太字で表示されます。

于 2012-07-01T19:41:36.007 に答える
3

@MetroSmurfがすでに言及したもののサンプルコードを次に示します。this.InitializeComponent();が表示される前に呼び出す必要があることに注意してくださいNotifyIcon(通常はフォームコンストラクターで)。

public Form1()
{
    this.InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
    notifyIcon1.Icon = new Icon(@"C:\SomePath\MyIcon.ico");
    notifyIcon1.Visible = true;
    notifyIcon1.ShowBalloonTip(5000, "Welcome", "Hello " + User, ToolTipIcon.Info);
}

また、通知を許可するようにウィンドウが構成されていることを確認してください。Windows 7では、タスクバーを右クリックし、通知領域で[プロパティ] 、 [カスタマイズ... ]の順にクリックし、[タスクバーにすべてのアイコンと通知を常に表示する]オプションをオンにして、[ OK ]をクリックします。

于 2012-07-01T19:53:40.057 に答える