私のアプリケーションは、ユーザーが不在のときにバックグラウンドで実行される可能性があるモニターであり、その目的は、何らかの変更が発生したときにユーザーに視覚的に警告することです。MessageBoxes は少し不快に思えるので、バルーン ヒントが何かをしている場合に備えて、フォーカスを台無しにすることなくタスクを達成できると思います。
残念ながら、これにはタイムアウト パラメータが必要です。ユーザーが閉じるまで無期限に保持したいと思います。
これは可能ですか?
これは、Windows によって既に処理されています。タイムアウト カウンターは、キーボードまたはマウスの入力を検出するまでカウントを開始しません。NotifyIcon.ShowBalloonTip の備考セクションから:
さらに、ユーザーがコンピューターを使用していないように見える場合 (キーボードまたはマウスのイベントが発生していない場合)、システムはこの時間をタイムアウトにカウントしません。
私の知る限り、無限のタイムアウトを指定することはできません。
つまり、タイムアウトをInt32.MaxValueに設定すると、ツールチップは 2,147,484 秒、つまり約 25 日間待機します。ユーザーはそれまでにツールチップに気付くか、まったく気付かない可能性があります。
編集: @Hans Passant は、タイムアウト値に上限を設定するシステム設定について言及しているため、おそらく機能しません。彼の答えはとにかく良いです。