如何在C#中使用两个变量调用按钮?
表单上有几个按钮,都在一个面板内。我要做的是使用2个预先确定的变量启用64个按钮中的任何一个。我启用的按钮取决于之前选择的按钮。每个按钮都有一个名称: “按钮”+#介于1-9+字母A-H之间。我使用ASCII值确定字母 示例:按钮3A、按钮7H等 我的代码崩溃,并给我一个空值:如何在C#中使用两个变量调用按钮?,c#,button,null,C#,Button,Null,表单上有几个按钮,都在一个面板内。我要做的是使用2个预先确定的变量启用64个按钮中的任何一个。我启用的按钮取决于之前选择的按钮。每个按钮都有一个名称: “按钮”+#介于1-9+字母A-H之间。我使用ASCII值确定字母 示例:按钮3A、按钮7H等 我的代码崩溃,并给我一个空值: x = Convert.ToInt32(listBox1.SelectedItem.ToString().Substring(0, 1)); x = x + 1; y = (int)listBox1.SelectedIt
x = Convert.ToInt32(listBox1.SelectedItem.ToString().Substring(0, 1)); x = x + 1;
y = (int)listBox1.SelectedItem.ToString()[1]; y = y + 2;
DB4.Items.Add("" + x + (char)y);
if ((x == 1 || x == 2 || x == 3 || x == 4 || x == 5 || x == 5 || x == 6 || x == 7 || x == 8 || x == 9) && (y == 65 || y == 66 || y == 67 || y == 68 || y == 69 || y == 70 || y == 71 || y == 72))
(this.Controls["button" + x + (char)y] as Button).Enabled = true;
(代表OP发布解决方案)
问题是我使用了这个.Controls而不是panel1.Controls。感谢Berklay注意到如此小的细节 完整的异常消息及其发生位置将非常有用。您说过所有按钮都放在
面板上,但您正在表单控件上搜索按钮。您需要搜索面板的控件。是否尝试将listBox1.SelectedItem.ToString()替换为listBox1.SelectedItem.ValueCrash并为您提供空值?那是什么意思?我忽略了,谢谢你,伯克!