C#WPF增加存储在文本框中的值,只要选择了项目,取消选择时减少相同的金额
我的WPF应用程序包含: 1x文本框 1个组合框(其中2个项目) 1x按钮 假设该文本框的值为100。若选择了第一个组合框项目,并且我们在该按钮上使用ClickEvent,则TextBox的值将增加200。如果选择了第二个组合框项,则它会增加100。` 在这种情况下,文本框中的值会随着每次按钮单击而不断增加。 如何将该值保持在300或200(取决于ComboBox),而不考虑我单击按钮的次数C#WPF增加存储在文本框中的值,只要选择了项目,取消选择时减少相同的金额,c#,wpf,C#,Wpf,我的WPF应用程序包含: 1x文本框 1个组合框(其中2个项目) 1x按钮 假设该文本框的值为100。若选择了第一个组合框项目,并且我们在该按钮上使用ClickEvent,则TextBox的值将增加200。如果选择了第二个组合框项,则它会增加100。` 在这种情况下,文本框中的值会随着每次按钮单击而不断增加。 如何将该值保持在300或200(取决于ComboBox),而不考虑我单击按钮的次数 我并不需要一个完整的代码,只需要一个逻辑指导,如何解决这个问题而不需要编写187行代码,如何实现这一点取
我并不需要一个完整的代码,只需要一个逻辑指导,如何解决这个问题而不需要编写187行代码,如何实现这一点取决于您的需求,但下面的示例代码应该会告诉您这个想法。它使用一个变量来确定该值是否已增加:
private bool alreadyIncreased;
private void Button_Click(object sender, RoutedEventArgs e)
{
if (alreadyIncreased)
return;
//1. Get the current value of the TextBox
int.TryParse(tb.Text, out int value);
//2. Increase the value based on the selected item
if (cmb.Items.Count > 0 && cmb.SelectedItem == cmb.Items[0])
value += 200;
else
value += 100;
//3. Display the value in the TextBox
tb.Text = value.ToString();
alreadyIncreased = true;
}
例如,您可能希望通过处理组合框的SelectionChanged
事件来重置变量