C# 两个绑定了不同值的文本框
我想将整数从C# 两个绑定了不同值的文本框,c#,loops,C#,Loops,我想将整数从TextBox转换为另一个TextBox。我有这段代码,但它只在开始时转换,当我更改文本框时,不会转换任何形状笔 int j = 100; int value = 0; for (int i = 0; i <= j; i++) { if (AtextBox.Text == i.ToString()) { value = j - i; BtextBox.Text = value.ToString(); } } intj=1
TextBox
转换为另一个TextBox
。我有这段代码,但它只在开始时转换,当我更改文本框时,不会转换任何形状笔
int j = 100;
int value = 0;
for (int i = 0; i <= j; i++)
{
if (AtextBox.Text == i.ToString())
{
value = j - i;
BtextBox.Text = value.ToString();
}
}
intj=100;
int值=0;
对于(int i=0;i您需要使用事件。创建TextChanged
事件处理程序
有两种方法可以做到这一点:
打开设计器,打开Atextbox
的属性,找到TextChanged
事件并单击两次
由于TextChanged
是TextBox
的默认事件,只需在designer中单击两次TextBox
Visual Studio将创建以下处理程序:
public void Atextbox_TextChanged(object sender, EventArgs e) ...
只需将您的代码添加到其中:
public void Atextbox_TextChanged(object sender, EventArgs e)
{
int value;
if (int.TryParse(Atextbox.Text, out value))
{
Btextbox.Text = (100 - value).ToString();
}
}
每次更改Atextbox
的内容时,它都会触发此事件,该事件将解析文本框中的整数,将其从100中减去,并将其应用于另一个文本框。
是的,这里不需要循环。在textChanged事件(或类似事件)上设置BtextBox.Text=AtextBox.Text.BTW,我非常肯定上面的代码运行速度比它慢100倍。嗯,行BtextBox.Text=(100-value).ToString()
发生错误:对象引用未设置为对象的实例。为什么?@Mirza唯一可能发生的事情是Btextbox
为null。但它不是null,我有默认值Btextbox,我也尝试在if语句之前填充Btextbox.Text=“100”
,但仍然得到相同的错误