gpt4 book ai didi

c# - 从标记中的对象获取属性

转载 作者:太空宇宙 更新时间:2023-11-03 19:01:04 24 4
gpt4 key购买 nike

对于学校作业,我们正在用 C# 制作国际象棋游戏,我们必须在其中学习以面向对象的方式工作。该板由嵌套 for 循环中的二维图片框阵列组成

//Create the Board Pattern out of PictureBoxes
#region Checkerboard

PictureBox[,] Vak = new PictureBox[8, 8];

for (int i = 0; i < 8; i++)
{
for (int x = 0; x < 8; x++)
{

Vak[i, x] = new PictureBox();
Vak[i, x].Name = String.Format("{0},{1}", i, x);
Vak[i, x].Width = 50;
Vak[i, x].Height = 50;
Vak[i, x].Location = new Point(xpos, ypos);
Vak[i, x].SizeMode = PictureBoxSizeMode.Zoom;
Vak[i, x].Click += Chess_Click;
if ((i + x) % 2 == 0)
{
Vak[i, x].BackColor = ColorTranslator.FromHtml("#e5e5e5"); //white ColorTranslator.FromHtml("#e5e5e5");
}
else
{
Vak[i, x].BackColor = ColorTranslator.FromHtml("#545454"); //black ColorTranslator.FromHtml("#545454");

}
xpos += 50;
this.Controls.Add(Vak[i, x]);
}
xpos = 50;
ypos += 50;
this.Controls.Add(border);
}
#endregion

在其他帖子中,我发现我可以像这样使用 .Tag 属性来引用一个类(通过图片框):

Vak[i,x].Tag = new Tower();

但是,我无法找到一种方法来使用标记调用 Tower 类的属性

假设 Tower 类有一个属性“name”,我将如何调用它

string objectname = Vak[i,x].Tag.(name?)

抱歉,如果这是一个愚蠢的问题,但我对编程还很陌生。谢谢!

最佳答案

你必须转换它,因为 Tag 是一个对象类型:

Tower tower = Vak[i,x].Tag as Tower;

if(tower!=null)
{
//do stuff
}

但是,我会避免像这样在标签属性中存储数据结构。

关于c# - 从标记中的对象获取属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35869094/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com