日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Wpf TextChanged事件导致死循环,事件触发循环问题

發布時間:2025/1/21 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Wpf TextChanged事件导致死循环,事件触发循环问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、實例:

說明:當TextBox控件的Text內容發生變化時,TextChanged事件觸發,并且會立即同步執行。

基于這個特點,設置一個全局變量標識,ChangeTxtB,如果是正在修改txtB的時候,不執行txt_TextChanged事件內容。

這樣就可以解決TextChanged事件帶來的死循環問題。

//比特 private void txtb_TextChanged(object sender, TextChangedEventArgs e) {if (ChangeTxtB) //如果當前是正在修改txtB,后面的代碼不執行return;try{if (string.IsNullOrEmpty(txtb.Text)){txtb.Focus();return;}double number = double.Parse(txtb.Text);txtB.Text = (number / 8.0).ToString();}catch (Exception ex){ShowError(ex.Message);} } //標識txtB對話框正在修改數據 private bool ChangeTxtB = false; //字節 private void txtB_TextChanged_1(object sender, TextChangedEventArgs e) { label1.Content = ""; try { if (string.IsNullOrEmpty(txtB.Text)) {txtB.Focus();return; } //標識正在修改txtB ChangeTxtB = true; //吉字節變換是統一修改其他內容 double number = double.Parse(txtB.Text); txtb.Text = (number * 8).ToString();//當修改Text屬性時,txtb_TextChanged會立即同步觸發 txtKB.Text = (number / 1024.0).ToString(); txtMB.Text = (number / 1024.0 / 1024.0).ToString(); txtGB.Text = (number / 1024.0 / 1024.0 / 1024.0).ToString(); txtTB.Text = (number / 1024.0 / 1024.0 / 1024.0 / 1024.0).ToString(); } catch (Exception ex) { ShowError(ex.Message); } //標識結束修改txtB ChangeTxtB = false; }

?

總結

以上是生活随笔為你收集整理的Wpf TextChanged事件导致死循环,事件触发循环问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。