我正在编写一个 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;
}
}
}
}
而且您显然可以将 map 放在其他地方。另一种(更好的)方法是使用 XAML - 关于这个问题的另一个答案演示了如何这样做。
关于C# - 在循环中启用多个文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34693186/