2014-07-27 132 views
-3

我想使隨機按鈕更改其基於隨機數的文本。我已經嘗試了下面的代碼:更改隨機按鈕文本C#

if (Button(random int 1 to 9)).Text != "X") 
{ 
    MessageBox.Show("test worked"); 
} 

任何輸入我怎麼能做到這一點將不勝感激。

回答

1

你需要創建一個數組或列表Button s,並將其添加到每個按鈕中,並隨機選擇一個按鈕,或者爲每個按鈕ButtonX命名,其中X是數字。然後,您可以使用Find()通過名稱來選擇一個按鈕。

例子:

Random random = new Random(); 

if ((this.Controls.Find("Button" + random.Next(1, 10).ToString()) 
    .First() as Button).Text != "X") 
{ 
    MessageBox.Show("test worked"); 
} 

確保你的方法之外創建的Random例如,如果它被稱爲多次,作爲結果不會改變。

+1

@ user266929這實際上是一種在C#中查找控件的更純粹的方法。我會建議使用這個。 –

+0

我現在正在使用此解決方案,因爲其他建議將導致stackoverflow錯誤。 – user266929

0

我認爲你正在尋找這樣的事情

var rnd = new Random(); 

if(this.Controls["Button" + rnd.Next(1,10)].Text != "X") 
{ 
    MessageBox.Show("test worked"); 
} 

Ofcourse我假設這是WinForms,你必須在你的Form命名爲Button1Button9至少9按鈕...

+0

謝謝,這工作。 – user266929