很难理解类以及为什么我无法访问某个对象。 如何修改代码,以便在所有类/事件中更改“地图”(这是一组标签)属性?C#在公共类中从表单按钮单击更改标签创建
的方法Draw2D的()创建一对夫妇,我希望改变在不同的事件(按一下按钮在这个例子中)在主窗体上的标签。
有人可以帮助我,或只是暗示我走向正确的方向。
验证码:
公共部分Form1类:表格
{
public void Draw2d()
{
const int spacing = 20;
Label[][] map = new Label[5][];
for (int x = 0; x < 5; x++)
{
map[x] = new Label[5];
for (int y = 0; y < 5; y++)
{
map[x][y] = new Label();
map[x][y].AutoSize = true;
map[x][y].Location = new System.Drawing.Point(x * spacing, y * spacing);
map[x][y].Name = "map" + x.ToString() + "," + y.ToString();
map[x][y].Size = new System.Drawing.Size(spacing, spacing);
map[x][y].TabIndex = 0;
map[x][y].Text = "0";
}
this.Controls.AddRange(map[x]);
}
}
public Form1()
{
InitializeComponent();
}
public void Form1_Load(object sender, EventArgs e)
{
Draw2d();
}
private void button1_Click(object sender, EventArgs e)
{
map[0][0].Text = "1"; // <-- Doesn't work
}
}
谢谢!
当你说它不起作用时会发生什么? – Spence 2010-01-23 23:12:07
您可以创建一个新的按钮,它读取地图[0] [0]属性并将其放在消息框中。您可以看到该属性是否被覆盖或者是否显示不正确? – Spence 2010-01-23 23:12:54