使用两个组合框值动态计算 textbox.text
Calculating textbox.text dynamically with two comboboxvalues
我有 2 个组合框,名为 cb1 和 cb2,还有 1 个文本框,名为 tb1。
所以我需要做的是:如果同时在 cb1 和 cb2 中选择了任何值,则 tb1.text 应该设置为 cb1 除以 cb2 的值。
在选择 2 个值之前,文本框应留空,
当组合框的选定项目之一发生更改时,文本框的值也应动态更改。
有人可以帮我吗?我不知道从哪里开始..
我考虑过为组合框声明 3 个变量,x 和 y,为文本框声明 z。然后是 if 之类的东西,它将 x 和 y 动态设置为所选值的值..
提前致谢!
ComboBox
控件 SelectedIndexChanged(object sender, EventArgs e)
上有一个事件。您可以在应用程序中的两个 ComboBox 上附加事件,然后在事件处理程序中检查两个 ComboBox 中的值是否相同。如果是,您可以更新 TextBox
并在事件处理程序中也计算值。
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox1.Text == comboBox2.Text)
textBox1.Text = "true";
else
textBox1.Text = "";
}
两个 ComboBoxes
的相同事件处理程序。
查看问题标签,我相信您正在开发 WPF 应用程序。
也许你可以做如下的事情。注册到 cb1 和 cb2 的选择更改事件。然后在处理程序中调用一个通用方法,该方法将计算值设置为文本框。
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();
}
问候 :)
我有 2 个组合框,名为 cb1 和 cb2,还有 1 个文本框,名为 tb1。
所以我需要做的是:如果同时在 cb1 和 cb2 中选择了任何值,则 tb1.text 应该设置为 cb1 除以 cb2 的值。
在选择 2 个值之前,文本框应留空, 当组合框的选定项目之一发生更改时,文本框的值也应动态更改。
有人可以帮我吗?我不知道从哪里开始..
我考虑过为组合框声明 3 个变量,x 和 y,为文本框声明 z。然后是 if 之类的东西,它将 x 和 y 动态设置为所选值的值..
提前致谢!
ComboBox
控件 SelectedIndexChanged(object sender, EventArgs e)
上有一个事件。您可以在应用程序中的两个 ComboBox 上附加事件,然后在事件处理程序中检查两个 ComboBox 中的值是否相同。如果是,您可以更新 TextBox
并在事件处理程序中也计算值。
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox1.Text == comboBox2.Text)
textBox1.Text = "true";
else
textBox1.Text = "";
}
两个 ComboBoxes
的相同事件处理程序。
查看问题标签,我相信您正在开发 WPF 应用程序。 也许你可以做如下的事情。注册到 cb1 和 cb2 的选择更改事件。然后在处理程序中调用一个通用方法,该方法将计算值设置为文本框。
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();
}
问候 :)