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事件导致死循环,事件触发循环问题相关推荐
- EventTrigger接管所有事件导致其他事件无法触发
解决: using UnityEngine; using System.Collections; using UnityEngine.EventSystems; public class EventT ...
- WPF 九 ( loaded 事件和 Initialized 事件区别以及事件执行顺序总结)
在 WPF 中, 控件有 Loaded 和 Initialized 两种事件. 初始化和加载控件几乎同时发生, 因此这两个事件也几乎同时触发. 但是他们之间有微妙且重要的区别..具体区别如下 概念介绍 ...
- WPF经典教程--键盘输入事件, 鼠标输入事件, 焦点处理
一.键盘和键盘事件 WPF提供了一个基本的键盘类(System.Input.Keyboard类),该类提供键盘相关的事件,方法和属性,以提供有关键盘状态的信息.键盘事件也由诸如UIElement XA ...
- Vue 模板语法 插值操作 绑定属性 计算属性 事件监听 条件判断 循环遍历 阶段案例
1 插值操作 1.1 Mustache语法 也就是双大括号 {{ }} <div id="app"> <!-- mustche语法中,不仅可以直接写变量,也可以写 ...
- 【WPF】ListBox嵌套与事件冒泡
[WPF]ListBox嵌套与事件冒泡 原文:[WPF]ListBox嵌套与事件冒泡 问题:两个ListBox嵌套后,当鼠标位于内部ListBox上,鼠标滚轮事件会被内部ListBox接收,导致外层L ...
- WPF系列学习之三(路由事件)
路由事件实际上以一上 列三种方式出现. 1.与普通的.net事件类似的直接路由事件.它们起源于一个元素,并且不传递给其他元素.例如:MouseEnter事件. 2.在包含层次中向上传递 ...
- WPF,Silverlight与XAML读书笔记第八 - WPF新概念之三路由事件
说明:本系列基本上是<WPF揭秘>的读书笔记.在结构安排与文章内容上参照<WPF揭秘>的编排,对内容进行了总结并加入一些个人理解. 路由事件是专门设计用于在元素树中使用的事件. ...
- html 点击文本框则选中,JS事件 内容选中事件(onselect)选中事件,当文本框或者文本域中的文字被选中时,触发onselect事件,同时调用的程序就会被执行。...
内容选中事件(onselect) 选中事件,当文本框或者文本域中的文字被选中时,触发onselect事件,同时调用的程序就会被执行. 如下代码,当选中用户文本框内的文字时,触发onselect 事件, ...
- WPF中的事件及冒泡事件和隧道事件(预览事件)的区别
WPF 的采取了路由事件机制,这样事件可以在可视树上层级传递.要知道 XAML 中控件都是由很多其他元素组合而成,比如我们单击了 Button 内部的 TextBlock 元素,Button 依然可以 ...
最新文章
- 函数计算的是什么_【Excel函数教程】3个例子让你彻底玩转EDATE函数
- 二极管极低电流I-V特性测量
- python 获取公网 外网 ip 几种方式
- tomcat苹果版安装步骤_mac系统安装apache tomcat配置方法图文详解
- Educational Codeforces Round 89 (Rated for Div. 2)(A, B, C, D)
- stl min函数_std :: min()函数以及C ++ STL中的示例
- SpringMVC自定义拦截器拦截请求后返回中文时乱码
- 联调测试是什么意思_阿里开源 KT Connnect,轻量级云原生测试环境治理平台来啦!...
- python日期时间模块_Python模块|时间处理模块-日期时间模块,python,datetime
- 工具说明书 - Windows资源监视器: Resource Monitor
- ROS二维码识别以及OKR使用
- java转盘抽奖_JAVA用户抽奖系统设计(幸运大转盘作业)
- linux下的扫描软件,4个用于Linux系统的扫描软件 - 爱绿豆
- 7-8 浪漫侧影 (25 分)
- echarts旭日图
- python实战-HTML形式爬虫-批量爬取电影下载链接
- Chrome 操作系统
- wireshark协议解析错误解决方法
- webSevice基础学习
- Veritas Symantec backup exec 16授权slf文件
热门文章
- Linux(一)——基础入门(1)
- 光流 | 高精度变分光流、LK-HS多项式展开的帧间估计、局部全局光流(论文翻译)及光流场与光流算法研究
- 计算机一级单元格公式设置错误是什么原因,excel表格公式出错怎么解决,电子表格求和出错...
- mysql完整字段包括_MySQL字段类型最全解析
- docker安装php怎么修改配置,怎么给docker配置内存大小?
- python的原则_python 类的使用原则
- Scikit-Learn 机器学习笔记 -- 决策树
- C指针原理(25)-gtk
- 【学术相关】94年的博士后又拿到了这个金奖!原来是他的学弟
- 【机器学习】一文速览机器学习的类别(Python代码)