Winforms 如果输入发生更改,则清除输出
我的表格上有两个文本框。第一个文本框在单击时计算金额,第二个文本框中显示总额。我正在尝试创建一个事件处理程序,如果第一个文本框中输入的值发生更改,它将清除第二个文本框中的文本。 例如,只有在你5岁的时候,你才能乘坐这辆车。用户在第一个文本框中输入5。第二个文本框显示“您可以骑车!”。现在,如果用户更改数字5,我希望清除“你可以骑!”。Winforms 如果输入发生更改,则清除输出,winforms,Winforms,我的表格上有两个文本框。第一个文本框在单击时计算金额,第二个文本框中显示总额。我正在尝试创建一个事件处理程序,如果第一个文本框中输入的值发生更改,它将清除第二个文本框中的文本。 例如,只有在你5岁的时候,你才能乘坐这辆车。用户在第一个文本框中输入5。第二个文本框显示“您可以骑车!”。现在,如果用户更改数字5,我希望清除“你可以骑!”。 我没有任何代码,因为我不确定为哪个文本框创建事件处理程序,是接受输入的还是显示输出的。有没有人有什么建议,或者我可以在微软的页面上搜索什么来了解更多关于清算的信息
我没有任何代码,因为我不确定为哪个文本框创建事件处理程序,是接受输入的还是显示输出的。有没有人有什么建议,或者我可以在微软的页面上搜索什么来了解更多关于清算的信息?到目前为止,我唯一能找到的就是这个例子:
textBoxName.Clear()代码>但我不确定该放在哪里。有什么建议吗?多谢各位 是的,您可以使用TextBox.Clear方法来清除文本框中的文本
下面是一个简单的示例,用于确定TextBox1中的值是否为“5”,并实时修改TextBox2中的值
演示用于检测TextBox1中的值是否为数字
public Form1()
{
InitializeComponent();
textBox1.TextChanged += textBox1_TextChanged;
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
int number;
bool success = Int32.TryParse(textBox1.Text, out number);
// input is a number
if (success)
{
// if input is 5
if (number == 5)
{
textBox2.Text = "You can ride!";
}
// else clear TextBox2
else
{
textBox2.Clear();
}
}
// input is not a number, re-input
else if (!string.IsNullOrEmpty(textBox1.Text))
{
// Clear wrong input
textBox1.Clear();
MessageBox.Show("Please input a number!");
}
// input is empty
else
{
textBox2.Clear();
}
}
您可能希望连接到输入文本框。我希望仅当第一个文本框中的输入发生更改时,第二个文本框才会被清除。我尝试为您提到的第一个文本框签出TextChanged事件,但它在我的表单上显示了计算和退出按钮的下拉菜单,它没有显示任何与其他文本框相关的内容。@Ryth500您可以使用前面提到的@JSteward。我不知道你说的表单上的按钮下拉菜单是什么意思TextChanged
是TextBox
的默认事件,因此只需双击设计器中的第一个TextBox
,并将代码写入它生成的空函数中。理想情况下,可以在输入框附近的某个位置发布一条非侵入性的“横幅消息”(类似于“youhave have caps lock/num lock on”)出现在登录屏幕上)而不是模式弹出对话框,因为所有文本更改都会触发“文本更改”事件,但对于当前熟悉操作表面上的GUI编程来说,答案是好的。