0

winformsアプリケーションから長時間実行されているプロセスが完了したときにユーザーに警告するためのアイデアを探しています。このプロセスは、入力に応じて数分または数時間かかる可能性があり、その間、アプリケーションを最小限に抑えて他の作業を行う可能性があります。私は次のようなWindowsのサウンドを再生するようなことができることを知っています:

System.Media.SystemSounds.Exclamation.Play();

しかし、ここのオフィスのほとんどのユーザーはスピーカーを持っていないので、あまり効果的ではないと思います。

「ウェイクアップ!!!データの準備ができました!!!!」とユーザーに伝えるために私ができる他のテクニックは何ですか。

ありがとう!

4

6 に答える 6

3

いくつかのアイデア:

  • アニメーション化または変更されたシステムトレイアイコン
  • システムトレイからの「トースター」ポップアップ(Outlook、メッセンジャー、または一部のAVアプリが使用するものなど)
  • タスクバーのアラートの点滅
  • メールを送る
  • サウンド/オーディオアラートを再生する
  • メッセージボックス
  • アプリの下部にあるステータスバーにインジケーターを表示します

これらの中で、私はシステムトレイアイコン+トースターポップアップが一番好きです。タスクバーのアラートの点滅は要求が厳しく、電子メールの待ち時間が長すぎて構成が多すぎます。音声アラートには質問で述べた問題があり、メッセージボックスはスレッドの実行をブロックし、ステータスバーのインジケーターは微妙すぎます。

于 2010-12-02T15:16:38.480 に答える
2

これは、タスクバーの通知領域での通知の理想的な使用例のように聞こえます。

これには、ユーザーのコンピューターで利用できる場合とできない場合がある音などに依存せずに、メッセージボックスの侵襲性なしに、ユーザーにすぐに警告するという利点があります。

通知サンプル

...代わりに「プロセスが完了しました」と言う場合を除いて:-)

于 2010-12-02T15:20:30.353 に答える
1

メッセージボックスを開きます。アプリが最小化されている場合は、スタートバーで点滅します。

于 2010-12-02T15:13:01.970 に答える
1

新しいメッセージを受信したときにほとんどのIMプログラムが点滅するのと同じように、タスクバーのフォームを点滅させるのはどうですか。その機能を取得するには、P / Invokeを実行する必要がありますが、実際には非常に簡単です。

http://pietschsoft.com/post/2009/01/26/CSharp-Flash-Window-in-Taskbar-via-Win32-FlashWindowEx.aspx

于 2010-12-02T15:16:02.810 に答える
0

コンソールのビープ音を鳴らすのにスピーカーは必要ありません...

Console.Beep();

于 2010-12-02T15:19:45.847 に答える
0

開発者がいる場合に通知を受け取る方法をユーザーがカスタマイズできるようにすることができます。時間。

于 2010-12-02T16:38:29.937 に答える