【发布时间】:2023-03-06 09:48:01
【问题描述】:
我有这个功能
public void calculateTotalFructiferous() {
totalFructiferous.Text = ....;
}
我有 32 个文本框。每当 32 中的每一个的值发生变化时,我都想触发该函数。我在谷歌上搜索,发现我必须使用事件downkey and upkey,但我不确定到底是哪一个。另外我想如果有办法制作
此调用在一个不同的线程中,而不是 windows 窗体的线程。
【问题讨论】:
-
@FarhadJabiyev 这是我最喜欢的解决方案,但我的经理拒绝了
-
为所有文本框添加一个TextChanged 监听器(可以使用相同的处理程序,并通过 sender 参数访问特定控件)。当发生变化时,调用相应的函数。如果首先将 TextBox 控件添加到 Collection 中(无论如何这可能是有益的),或者已经是同一容器的 [exclusive] 子级,则可以通过代码隐藏中的简单循环将处理程序添加到所有控件中。不要不要使用不同的线程。
-
@user2864740 你的意思是把我方法的参数改成
object sender, EventArgs e吗?我不知道你说的这个系列 -
还要注意,
TextBox等UI组件必须在UI线程中处理,否则会遇到非法跨线程调用等问题。
标签: c# winforms events textbox windows-forms-designer