C#:控件的 TextChanged 事件未在 "assign"上触发

标签 c#

好的,事情就这样了。

我有一个图表,它“监听”一些标签的文本字段,并绘制它们的值。它通过在 TextChanged 事件上添加值来实现此目的。

问题: TextChanged 仅在文本实际更改(显然)时触发,而不是在为其分配新值时触发。

我需要什么: 一种检测标签的文本字段是否已更新(分配)的方法,我所要做的就是对控件(即标签)的引用。

我意识到 TextChanged 并不是为此而设计的,这就是为什么我想知道你们中是否有人遇到过类似的问题,并找到了解决方案。

最佳答案

在文本的初始分配中未调用 TextChanged 事件处理程序的原因是它是在分配第一个文本后附加的(设计器默认情况下似乎按此顺序执行操作) )。我会这样做:

  • TextChanged 调用另一个方法 (UpdateGraph)
  • UpdateGraph 收集必要的数据并更新图表
  • 调用 UpdateGraph 作为加载表单时完成的最后一件事

这将确保图表更新为初始值。重要的是,此调用发生在调用 InitializeComponent 之后。

关于C#:控件的 TextChanged 事件未在 "assign"上触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1198588/

相关文章:

c# - 通过二进制文件可以看到源代码吗? (C#)

c# - Cascade.All() EXCEPT Delete 是否有可能?

c# - 如何将连字符与正则表达式匹配?

c# - 为什么要尝试使用字符串? C# 中的(可空字符串)产生语法错误?

c# - 尝试在 Azure 上使用 .NET Core、Entity Framework 和 SQL Server 插入实体时出错

c# - 使用 Json.NET 的自定义反序列化

c# - InvariantCulture ToString 在用文化重载 ToString 的对象上

c# - 随着时间的推移围绕枢轴点旋转游戏对象

c# - 我是作为服务运行的吗

c# - 从 do while 语句接收用户输入