タグ

ブックマーク / blog.jhashimoto.net (2)

  • Application.DoEvents メソッドを使うべきでない理由 - Architect's Log

    どういうこと? Application.DoEvents メソッドはもはや使うべきではありません。 どうして? Application.DoEvents メソッド (System.Windows.Forms) メッセージ キューに現在ある Windows メッセージをすべて処理します。 ... このメソッドを呼び出すと、現在のスレッドは中断しますが、すべての待機ウィンドウ メッセージが処理されます。 メッセージによってイベントがトリガーされる場合、アプリケーション コードの他の部分が実行される場合があります。 このために、デバッグが困難な予期しない動作がアプリケーションで発生する可能性があります。 非同期プログラミング - 新しい Visual Studio Async CTP により容易になった非同期プログラミング 要するに、DoEvents は、状況がごく単純なときに応答性の問題を解決

    Application.DoEvents メソッドを使うべきでない理由 - Architect's Log
  • 【Windowsフォーム】ボタン二度押し対応のサンプル - Architect's Log

    Windowsフォームアプリのボタン連打対応のサンプルです。ボタンクリック処理中のボタン再押下を無効化します。詳細はソースのコメントを見てください。 以下のスレの2007年11月9日 8:55のれいさんの回答を参考に、Formクラスの拡張メソッドとして実装してみました。 VB2005 ボタン二度押し防止方法 Windows Formのボタンの二度押し防止方法ですが、別フォーラムでも同トピック、議論はあるものの 正解らしい回答を見たことがありません。変数でENABLE/DISABLEにするという案はありま ... # ホントはApplicationクラスに実装したかったけど、静的クラスなので拡張できなかった。 ソースコード public static class Extensions { /// <summary> /// 処理中のときはtrue。 /// </summary> privat

    【Windowsフォーム】ボタン二度押し対応のサンプル - Architect's Log
  • 1