使用两个组合框值动态计算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动态地设置为所选值。。
提前感谢!
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();
}
问候语:)