(使用WPF)
是否可以使用TextBox
的数字来选择参数名称?
例如,用户可以在TextBox
:
private void button1_Click(object sender, RoutedEventArgs e)
{
int test = int.Parse(textBox1.Text);
string nr1 = "this string is 1";
string nr2 = "this string is 2";
string nr3 = "this string is 3";
MessageBox.Show();
}
现在MessageBox.Show();
希望将某些内容设为nr(test)
这样的事情会成为可能吗?
答案 0 :(得分:5)
为什么不使用Dictionary?
var dict = new Dictionary<int,string>();
dict.Add(1,"String Number 1");
dict.Add(2,"String Number 2");
dict.Add(3,"String Number 3");
int test = int.Parse(textBox1.Text);
MessageBox.Show(dict[test]);
答案 1 :(得分:1)
我认为这会对你有所帮助:
private void button1_Click(object sender, RoutedEventArgs e)
{
int test = int.Parse(textBox1.Text);
string[] nr = new string[3]{"this string is 1","this string is 2","this string is 3"};
MessageBox.Show(nr[test-1]);
}
答案 2 :(得分:1)
答案 3 :(得分:1)
您也可以使用FindName()
让我们建议:
<StackPanel>
<TextBox Height="23" Name="textBox1" Width="120" />
<TextBox Height="23" Name="textBox2" Width="120" />
<TextBox Height="23" Name="textBox3" Width="120" />
<Button Content="Button" Height="23" Width="75" Click="button1_Click" />
</StackPanel>
你的看起来像这样
private void button1_Click(object sender, RoutedEventArgs e)
{
int number =2;
TextBox tb = this.FindName(string.Format("textBox{0}", number)) as TextBox;
MessageBox.Show(tb.Text);
}
答案 4 :(得分:0)
我建议你使用字典。处理字典简化了您的生活。我建议看here。