从理论上讲,我试图完成的所有事情都是从面向对象的角度来看是愚蠢的,但我必须这样做。
这是我正在进行的在线游戏。客户端有一个包含物品的库存,你知道 - 虚拟物品。 服务器发送具有库存中相应位置的项目。
这就是我的广告资源的样子:
我有62个面板(每个面板代表库存中的房间)。
我的问题:当我整理出虚拟物品和相应的插槽时,我必须在表格上绘制它们。
理论上,如果我在位置4收到项目“C:\ a.bmp”,我该如何将panel4.image设置为等于图像?
这就是我要做的事情:
var data = new byte[6];
... //we receive a packet,data is our buffer
var position = data[4];
Form1.panel + position + .backgroundImage = "bla bla.jpg";
如何调用这样的面板?
答案 0 :(得分:2)
将它们变成一个数组而不是62个单独的变量。然后你可以使用:
Form1.panels[position].BackgroundImage = "...";
虽然没有任何设计师支持(我知道) - 您是否在设计师中创建了所有这些面板?如果您可以以编程方式进行,那么您的生活将变得更加轻松(IMO)。