使用两个组合框值动态计算textbox.text

本文关键字:动态 计算 text textbox 组合 两个 | 更新日期: 2023-09-27 18:26:18

我有两个名为cb1和cb2的组合框,以及一个名为tb1的文本框。

所以我需要做的是:如果同时在cb1和cb2中选择了任何值,那么tb1.text应该设置为cb1除以cb2的值。

文本框应保持空白,直到选择了2个值,此外,当组合框的某个选定项目发生更改时,文本框值也应动态更改。

有人能帮帮我吗?我不知道从哪里开始。。

我考虑过声明3个变量,x和y用于组合框,z用于文本框。然后是一个if,它会将x和y动态地设置为所选值。。

提前感谢!

使用两个组合框值动态计算textbox.text

ComboBox控件SelectedIndexChanged(object sender, EventArgs e)上有一个事件。您可以将事件附加到应用程序中的两个组合框上,然后在事件处理程序中检查两个组合盒中的值是否相同。如果是,则可以使用事件处理程序中也计算的值更新TextBox

    private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (comboBox1.Text == comboBox2.Text)
            textBox1.Text = "true";
        else
            textBox1.Text = "";
    }

两个ComboBoxes

看看Question标签,我相信您正在开发一个WPF应用程序。也许你可以做下面这样的事情。注册到cb1和cb2的Selectionchanged事件。和在处理程序中,然后调用一个通用方法,该方法将带计算的值设置为文本框。

private void Cb1_SelectedIndexChanged(object sender, 
    System.EventArgs e)
{
        SetTextValue()
}
private void Cb2_SelectedIndexChanged(object sender, 
    System.EventArgs e)
{
    SetTextValue()
}
private void SetTextValue ()
(
//hope its int value that you are binding.
    var cb1value = (int) cb1.SelectedItem;
    var cb2value = (int) cb2.SelectedItem;
 tb1.Text = (cb1Value/cb2Value).toString();
)

希望这能帮助

:)

我认为这会对您有所帮助,我根据与两个组合框关联的事件SelectedIndexChanged编写了一些代码,并验证它们是否为空。看一看,我希望对你有帮助。

我想这就是你想要的。

    //event triggered when SelectedIndexChanged
    protected void cb1_SelectedIndexChanged(object sender, EventArgs e)
    {
        int a;
        int b;
        //In this way you can compare the value and if it is possible to convert into an integer. 
        if (int.TryParse(cb1.SelectedItem.Text, out a) && int.TryParse(cb2.SelectedItem.Text, out b))
        {
            fillTextBox(a, b);
        }
    }
    protected void cb2_SelectedIndexChanged(object sender, EventArgs e)
    {
        int a;
        int b;
        if (int.TryParse(cb1.SelectedItem.Text, out a) && int.TryParse(cb2.SelectedItem.Text, out b))
        {
            fillTextBox(a,b);
        }
    }
    private void fillTextBox(int value1, int value2)
    {
        tb1.Text = (value1 / value2).ToString();
    }

问候语:)