ホームページ >バックエンド開発 >C#.Net チュートリアル >WPF でボタンを同時に複数回クリックしてクリックをトリガーするインスタンス メソッドを説明します。

WPF でボタンを同時に複数回クリックしてクリックをトリガーするインスタンス メソッドを説明します。

Y2J
Y2Jオリジナル
2017-04-27 11:00:133163ブラウズ

この記事では、WPF でボタン ボタンが同時に複数回クリックされる問題の解決策を主に詳しく紹介します。興味のある方は参考にしてください。

ボタン ボタンが複数回クリックされる問題の解決策。 WPF で同時にクリックをトリガーする方法は、次のとおりです。具体的な内容は次のとおりです

  DateTime lastClick = DateTime.Now;
  object obj = new object();
  int i = 0;
  private void Button_Click(object sender, RoutedEventArgs e)
  {
   this.IsEnabled = false;  
   var t = (DateTime.Now - lastClick).TotalMilliseconds;
   i++;
   lastClick = DateTime.Now;
   System.Diagnostics.Debug.Print(t + "," + i + ";" + DateTime.Now);
   Thread.Sleep(2000);   
   this.IsEnabled = true;
  }

UI スレッドが 2 回クリックされているため、上記のコードはユーザーがボタンを 2 回クリックしてトリガーする問題を解決できません。シングルスレッドの場合、ユーザーは 2 回続けてクリックし、2 秒後に Button_Click が再度呼び出され、出力は次のようになります:

1207.069,1; April 19, 2017 13:58:22
2055.1176 ,2; 2017 年 4 月 19 日 13:58:24

したがって、this.IsEnabled = false; の後にインターフェイスを強制的に更新する必要があります。コードは次のとおりです。インターフェイスが強制的に更新され、問題は解決されます。

以上がWPF でボタンを同時に複数回クリックしてクリックをトリガーするインスタンス メソッドを説明します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。