我正在尝试使用Windows应用程序进行扫雷游戏。我想在方法中使用一个开关。c#如何参考当前按钮
问题:
public void switcher()
{
switch (x)
{
case 0:
A1.BackgroundImage = Image.FromFile("empty.jpg"); // look at A1
break;
case 1:
A1.BackgroundImage = Image.FromFile("1.jpg");
break;
case 2:
A1.BackgroundImage = Image.FromFile("2.jpg");
break;
case 3:
A1.BackgroundImage = Image.FromFile("3.jpg");
break;
case 4:
A1.BackgroundImage = Image.FromFile("4.jpg");
break;
case 5:
A1.BackgroundImage = Image.FromFile("5.jpg");
break;
case 6:
A1.BackgroundImage = Image.FromFile("6.jpg");
break;
case 7:
A1.BackgroundImage = Image.FromFile("7.jpg");
break;
case 8:
A1.BackgroundImage = Image.FromFile("8.jpg");
break;
}
}
正如你可以看到,他们每个人说:“A1 .....” A1是我的第一个按钮的名称,但也有很多其他的按钮也是如此。有没有一种方法可以引用按钮的属性,比如背景图片,而不必使用它的名字?这会使编程变得更容易。
这里的按键的简化部分,如果它可以帮助:
private void A1_Click(object sender, EventArgs e) // < - I want to refer to this without using A1 name.
{
x = bombcount[0, 0];
switcher();
}
编辑:答案之一工作。我对这些东西了解不多,但我会尽力多了解它们!谢谢!
'切换器()'的类型应该是按钮的参数。这样你就可以使用你想要的任何按钮的逻辑。只需根据需要传入A1,B1,C1等。 'switcher(A1)' – Will
它就在参数中 - “sender”是引起事件处理程序被调用的实际控件。只需将它转换为'Button',将它传递给'switcher'即可完成(顺便说一句,您也不需要开关)。 – Luaan