首页 > 解决方案 > 如何计算带有变量的按钮的名称

问题描述

我正在尝试制作一个战舰游戏,其中游戏字段按钮都以字母开头A,然后是数字。现在我想计算数字,但仍然能够执行基本的按钮功能,例如BackgroundImage.

我现在正在做的只是创建一个字符串,它将A与我从函数中收到的数字相加。

string btnr = "A";
btnr = btnr + Convert.ToString(nr);
string btnr = "A";
btnr = btnr + Convert.ToString(nr);
btnr.BackgroundImage = Image.FromFile(@"T:\E\_AUSTAUSCH\Com.Menu_OpenSurce\Battleship\Bilder\ACC_5_W.png");

这应该使用“nr”xx 更改按钮的背景图像,但我已经收到一条错误消息:

错误 3“string”不包含“BackgroundImage”的定义,并且找不到接受“string”类型的第一个参数的扩展方法“BackgroundImage”。(是否没有 Using 指令或程序集参考?)

标签: c#

解决方案


您正在获取按钮名称。但是您需要引用按钮对象。为此,您可以使用控件属性按名称选择按钮:

请注意,此示例假定按钮存在并且控件的类型为 Button。更新:还假设按钮是表单的中间子级

var button = (Button)Controls[btnr];
button.BackgroundImage = 
    Image.FromFile(@"T:\E\_AUSTAUSCH\Com.Menu_OpenSurce\Battleship\Bilder\ACC_5_W.png");

推荐阅读