C#Windows窗体应用程序-如果输入已更改,则清除输出

问题描述 投票:-1回答:1

我的表单上有两个文本框。单击时,第一个文本框将计算金额,而第二个文本框中将显示合计金额。我正在尝试创建一个事件处理程序,如果在第一个文本框中输入的值被更改,它将清除第二个文本框中的文本。例如,您只有在5岁时才能乘车。用户在第一个文本框中输入5。第二个文本框显示“您可以骑!”。现在,如果用户更改数字5,我希望“您可以骑!”被清除。我没有任何代码,因为我不确定您要为其创建事件处理程序的哪个文本框,哪个输入框或显示输出框。有没有人有任何建议或我可以在Microsoft页面上搜索以了解有关清除的更多信息?到目前为止,我唯一能找到的就是这个例子:textBoxName.Clear();,但是我不确定该放在哪里。有什么建议么?谢谢。

c# visual-studio programming-languages windows-forms-designer
1个回答
0
投票

是,您可以使用TextBox.Clear Method清除文本框中的文本。

下面是一个简单的示例,用于确定TextBox1中的值是否为“ 5”并实时修改TextBox2中的值。

该演示使用Int32.TryParse Method检测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();
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.