C# 是否使用整数访问表单成员?
理论上,从面向对象的角度来看,我试图完成的整个事情是愚蠢的,但我必须这样做 这是我正在做的一个在线游戏。客户有一个物品清单,你知道,虚拟物品。 服务器发送项目及其在库存中的相应位置 这就是我的清单的样子: 我有62个面板(每个面板代表库存中的房间) 我的问题是:当我整理虚拟项目和它们应该放置在的相应插槽时,我必须在表单上绘制它们 理论上,如果我在位置4收到项目“C:\a.bmp”,如何将panel4.image设置为与图像相等 这就是我想做的:C# 是否使用整数访问表单成员?,c#,.net,winforms,C#,.net,Winforms,理论上,从面向对象的角度来看,我试图完成的整个事情是愚蠢的,但我必须这样做 这是我正在做的一个在线游戏。客户有一个物品清单,你知道,虚拟物品。 服务器发送项目及其在库存中的相应位置 这就是我的清单的样子: 我有62个面板(每个面板代表库存中的房间) 我的问题是:当我整理虚拟项目和它们应该放置在的相应插槽时,我必须在表单上绘制它们 理论上,如果我在位置4收到项目“C:\a.bmp”,如何将panel4.image设置为与图像相等 这就是我想做的: var data = new byte[6]; .
var data = new byte[6];
... //we receive a packet,data is our buffer
var position = data[4];
Form1.panel + position + .backgroundImage = "bla bla.jpg";
如何像那样调用面板?将它们转换为一个数组,而不是62个单独的变量。然后您可以使用:
Form1.panels[position].BackgroundImage = "...";
但是,没有任何设计器支持(我知道),您是否在设计器中创建了所有这些面板?如果你可以用编程的方式来做,你的生活会变得更轻松(IMO)。他们总是告诉我这些,我总是忘记这个小小的解决方案。再次感谢Jon!我应该创建另一个数组并手动添加它们,还是编辑Designer.cs?我以前从未尝试过这样做。我会亲自从设计器中删除它们,并将它们添加到您的代码中。如果你有那么多的面板,有没有一些公式可以计算出大多数面板的大小和位置?(例如,它基本上是一个网格吗?)。