如何在键入这样的值时自动刷新文本框?
我试图做同样的事情,但它没有用。我总是按ENTER键刷新或点击向上/向下箭头刷新值
这是代码
private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
try
{
double a = double.Parse(s1.Text); //textbox 1
double b = double.Parse(s2.Text); //textbox 2
double s = a * b;
resultSpeed.Text = "" + s; //s is the result
}
catch
{
MessageBox.Show("Please input the number");
}
}
答案 0 :(得分:2)
只需使用事件KeyUp。每次放置符号时都会触发。
ValueChanged无法正常工作,因为它仅在您完成编辑时触发 - 您按Enter键或更改焦点。
所以基本上将你的事件从ValueChanged改为KeyUp。
我没有发布任何代码,因为唯一的更改是订阅其他事件。你的功能很好,但是你应该更改它的名字:)
答案 1 :(得分:2)
将您的代码放入文本框的TextChanged事件中。
喜欢这个
private void textBox1_TextChanged(object sender, EventArgs e)
{
calculate();
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
calculate();
}
private void calculate()
{
double a = 0, b = 0, demo;
if (double.TryParse(textBox1.Text, out demo))
a = double.Parse(textBox1.Text); //textbox 1
if (double.TryParse(textBox2.Text, out demo))
b = double.Parse(textBox2.Text); //textbox 2
double s = a * b;
textBox3.Text = s.ToString(); //s is the result
}