我正在嘗試使用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