Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C#中使用两个变量调用按钮?_C#_Button_Null - Fatal编程技术网

如何在C#中使用两个变量调用按钮?

如何在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

表单上有几个按钮,都在一个面板内。我要做的是使用2个预先确定的变量启用64个按钮中的任何一个。我启用的按钮取决于之前选择的按钮。每个按钮都有一个名称: “按钮”+#介于1-9+字母A-H之间。我使用ASCII值确定字母

示例:按钮3A、按钮7H等

我的代码崩溃,并给我一个空值:

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并为您提供空值?那是什么意思?我忽略了,谢谢你,伯克!