我正在编写WPF程序,它涉及到有人输入数字并启用相应数量的文本框。目前,我有一个系统可以检查每个单独的文本框,例如
private void navnumbox_TextChanged(object sender, TextChangedEventArgs e)
{
try
{
if (Int32.Parse(navnumbox.Text) > 0)
{
One.IsEnabled = true;
}
if (Int32.Parse(navnumbox.Text) > 1)
{
Two.IsEnabled = true;
}
}
}
我想将其放入一个循环,我认为可能需要将一个和两个存储在一个数组中,但是我已经尝试过但是不知道如何访问它们
最佳答案
也许您可以尝试这样的操作(对不起,我无法对其进行测试)。
private void navnumbox_TextChanged(object sender, TextChangedEventArgs e)
{
var textBoxesMap = new Dictionary<int,TextBox>()
{
{1, One},
{2, Two}
// etc
};
try
{
int number = int.Parse(navnumbox.Text)
foreach(var item in textBoxesMap)
{
if(item.Key <= number)
{
item.Value.IsEnabled = true;
}
}
}
}
您显然可以将地图放置在其他地方。一种替代的(更好的)方法是使用XAML-这个问题的另一个答案演示了如何使用XAML。
关于c# - C#-在循环中启用多个文本框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34693186/