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事件导致死循环,事件触发循环问题相关推荐

  1. EventTrigger接管所有事件导致其他事件无法触发

    解决: using UnityEngine; using System.Collections; using UnityEngine.EventSystems; public class EventT ...

  2. WPF 九 ( loaded 事件和 Initialized 事件区别以及事件执行顺序总结)

    在 WPF 中, 控件有 Loaded 和 Initialized 两种事件. 初始化和加载控件几乎同时发生, 因此这两个事件也几乎同时触发. 但是他们之间有微妙且重要的区别..具体区别如下 概念介绍 ...

  3. WPF经典教程--键盘输入事件, 鼠标输入事件, 焦点处理

    一.键盘和键盘事件 WPF提供了一个基本的键盘类(System.Input.Keyboard类),该类提供键盘相关的事件,方法和属性,以提供有关键盘状态的信息.键盘事件也由诸如UIElement XA ...

  4. Vue 模板语法 插值操作 绑定属性 计算属性 事件监听 条件判断 循环遍历 阶段案例

    1 插值操作 1.1 Mustache语法 也就是双大括号 {{ }} <div id="app"> <!-- mustche语法中,不仅可以直接写变量,也可以写 ...

  5. 【WPF】ListBox嵌套与事件冒泡

    [WPF]ListBox嵌套与事件冒泡 原文:[WPF]ListBox嵌套与事件冒泡 问题:两个ListBox嵌套后,当鼠标位于内部ListBox上,鼠标滚轮事件会被内部ListBox接收,导致外层L ...

  6. WPF系列学习之三(路由事件)

    路由事件实际上以一上 列三种方式出现.     1.与普通的.net事件类似的直接路由事件.它们起源于一个元素,并且不传递给其他元素.例如:MouseEnter事件.     2.在包含层次中向上传递 ...

  7. WPF,Silverlight与XAML读书笔记第八 - WPF新概念之三路由事件

    说明:本系列基本上是<WPF揭秘>的读书笔记.在结构安排与文章内容上参照<WPF揭秘>的编排,对内容进行了总结并加入一些个人理解. 路由事件是专门设计用于在元素树中使用的事件. ...

  8. html 点击文本框则选中,JS事件 内容选中事件(onselect)选中事件,当文本框或者文本域中的文字被选中时,触发onselect事件,同时调用的程序就会被执行。...

    内容选中事件(onselect) 选中事件,当文本框或者文本域中的文字被选中时,触发onselect事件,同时调用的程序就会被执行. 如下代码,当选中用户文本框内的文字时,触发onselect 事件, ...

  9. WPF中的事件及冒泡事件和隧道事件(预览事件)的区别

    WPF 的采取了路由事件机制,这样事件可以在可视树上层级传递.要知道 XAML 中控件都是由很多其他元素组合而成,比如我们单击了 Button 内部的 TextBlock 元素,Button 依然可以 ...

最新文章

  1. 函数计算的是什么_【Excel函数教程】3个例子让你彻底玩转EDATE函数
  2. 二极管极低电流I-V特性测量
  3. python 获取公网 外网 ip 几种方式
  4. tomcat苹果版安装步骤_mac系统安装apache tomcat配置方法图文详解
  5. Educational Codeforces Round 89 (Rated for Div. 2)(A, B, C, D)
  6. stl min函数_std :: min()函数以及C ++ STL中的示例
  7. SpringMVC自定义拦截器拦截请求后返回中文时乱码
  8. 联调测试是什么意思_阿里开源 KT Connnect,轻量级云原生测试环境治理平台来啦!...
  9. python日期时间模块_Python模块|时间处理模块-日期时间模块,python,datetime
  10. 工具说明书 - Windows资源监视器: Resource Monitor
  11. ROS二维码识别以及OKR使用
  12. java转盘抽奖_JAVA用户抽奖系统设计(幸运大转盘作业)
  13. linux下的扫描软件,4个用于Linux系统的扫描软件 - 爱绿豆
  14. 7-8 浪漫侧影 (25 分)
  15. echarts旭日图
  16. python实战-HTML形式爬虫-批量爬取电影下载链接
  17. Chrome 操作系统
  18. wireshark协议解析错误解决方法
  19. webSevice基础学习
  20. Veritas Symantec backup exec 16授权slf文件

热门文章

  1. Linux(一)——基础入门(1)
  2. 光流 | 高精度变分光流、LK-HS多项式展开的帧间估计、局部全局光流(论文翻译)及光流场与光流算法研究
  3. 计算机一级单元格公式设置错误是什么原因,excel表格公式出错怎么解决,电子表格求和出错...
  4. mysql完整字段包括_MySQL字段类型最全解析
  5. docker安装php怎么修改配置,怎么给docker配置内存大小?
  6. python的原则_python 类的使用原则
  7. Scikit-Learn 机器学习笔记 -- 决策树
  8. C指针原理(25)-gtk
  9. 【学术相关】94年的博士后又拿到了这个金奖!原来是他的学弟
  10. 【机器学习】一文速览机器学习的类别(Python代码)