web-dev-qa-db-ja.com

NotifyiconバルーンのヒントC#に表示されませんか?

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

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

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

10
Hunter Mitchell

フォームのloadイベントにある残りのコードを投稿する必要があるかもしれませんが、ここにいくつかの提案があります。

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

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

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

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

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

13
Metro Smurf

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

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

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

17
HatSoft

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

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が構成されていることを確認してください。 Windows 7でタスクバーを右クリックし、プロパティカスタマイズ...通知領域で、タスクバーにすべてのアイコンと通知を常に表示するオプションにチェックマークを付け、[〜# 〜] ok [〜#〜]

2
Kevin Aenmey