2013-10-19 45 views
0

有沒有辦法在C#中使用數值引用按鈕?我正在嘗試使用一種可重用的方法來操作按鈕上的文本。這是我目前的編碼: 點擊一個按鈕的方法(總共有16個):用數字引用按鈕

private void Card1_Click(object sender, EventArgs e) 
    { 
     buff = CardClick(1); 
     if (buff != null) 
     { 
      Card1.Text = buff; 
     } 
    } 

而且可重複使用的方法(代碼確實有孔,它在開發中):

private string CardClick(int card) 
     { 
      guesses[g++] = card; //alternate g 
      if ((guesses[0] != null) && (guesses[1] != null)) 
      { 
       //Reset Card guesses[0] 
       //Reset Card guesses[1] 
       return null; 
      } 
      else 
      { 
       if (card > 8) 
       { 
        return map[2, card]; 
       } 
       else 
       { 
        return map[1, card]; 
       } 
      } 
+2

你在表單? WPF? XAML? ASP.Net? WinRT的? Windows Phone?...答案是42. :) –

+0

問題目前還不清楚。提供更多信息 –

+0

您的問題不清楚,請添加更多詳細信息您目前正在做什麼以及目前做了些什麼? –

回答

0

您還可以使用Controls.Find(),我們將根據其名稱改爲你想要的按鈕的引用:

 int i = 1; 
     Control[] matches = this.Controls.Find("Card" + i.ToString(), true); 
     if (matches.Length > 0 && matches[0] is Button) 
     { 
      Button btn = (Button)matches[0]; 
      // ... do something with "btn" ... 
      btn.PerformClick(); 
     } 
0

您可以使用按鈕陣列

Button[] buttonArray = new Button[10]; 
0

你可以得到所有從表單按類型的按鈕,然後提取數組:

public Button[] AllButtons() 
    { 
     var buttons = new List<Button>(); 

     foreach (var control in this.Controls) 
     { 
      if (control.GetType() == typeof(Button)) 
       buttons.Add((Button)control); 
     } 

     return buttons.ToArray(); 
    }