如何在不知道其名称的情况下访问对象? (如何连接对象名称)。 我有以下代码:
private void pb1_Click(object sender, EventArgs e)
{
Check("1");
}
void Check(string x)
{
if (("pb"+x).Image == img1)
{
("pb"+x).Image = img2;
}
}
答案 0 :(得分:1)
这不是解决问题的方法。我建议您使用字典来跟踪加载的对象,然后在字典中按编号查找它们。
private Dictionary<int, MyClass> myDict = new Dictionary<int, MyClass>();
void Check(int value)
{
MyClass target = null;
myDict.TryGetValue(value, out target);
//target.Image = etc.
}
答案 1 :(得分:0)
您不应传递控件的名称。通过传递对象的引用会更好,你已经在eventhandler中使用了它:
private void pb1_Click(object sender, EventArgs e)
{
SwapImages(sender as PictureBox);
}
private void SwapImages(PictureBox pb)
{
if (pb.Image == img1)
{
pb.Image = img2;
}
}