我有一个非常老的Windows Form应用程序,该应用程序是由其他人编写的,在较新的操作系统下不能很好地运行,因此我将其复制到C#中以供个人在较新的PC上使用。我有2个文本框,textBox1
的默认值为1
,textBox2
被设置为Read Only
。我将下面的代码放入Form1()方法中,以便它在打开时具有初始计算值。
我想做的是获取textBox1
的值,将其乘以360
,然后用结果更新textBox2
的值。现在,我认为通过以下操作很容易:
textBox2.Text = (Convert.ToInt32(textBox1.Text) * 360).ToString();
但是我也想动态地执行此操作,因此可以将textBox1
中的值更改为2
,单击进入Windows窗体上的另一个文本框,然后将textBox2
更改为{{1} },然后可以单击回到640
,将值更改为textBox1
,然后在再次单击另一个文本框后,将值更改为4
。我已经看到了一些背景工作人员的示例,这些示例我确实感到非常困惑,无论如何,这是一个非常简单的计算,因此最终用户在计算和更新文本值时永远不会注意到稍有停顿。我希望有一种更简单的方法来获得此结果。
我该怎么做?
答案 0 :(得分:1)
您是否考虑过注册事件?特别是OnTextChange。您要做的就是为OnTextChange事件注册一个事件处理函数,该函数将在您在文本框中键入数字时运行,例如:
textbox1.OnTextChange=someFunc;
...
答案 1 :(得分:0)
感谢Ramesh,我能够解决这个问题。我进入textBox
的事件,添加了一个请假事件,并在其中添加了我的计算代码。现在,当我单击该框时,它将根据textBox2
中的值来计算textBox1
中的值。