2016-10-06 24 views
-1

ボードには10行と10列のボタンがあります。緑色のボードはランダムに9色の赤色の障害物になります。私の質問は、緑のボタンの色を白に変更する方法ですか? 1つずつパスを見つけるには、私はクリンクイベントを使っています.....? `ボタンの色を変更するにはどうすればよいですか?

for (int i = 1; i <= 99;) 
    { 

     string btn_name = "btn" + Convert.ToString(i+10); 
     var btn_now = this.Controls.Find(btn_name, true)[0]; 

     btn_name = "btn" + Convert.ToString(i + 1); 
     var btn_next = this.Controls.Find(btn_name, true)[0]; 
     var btn_below = btn_next; 



     if (i <= 10 || i == 20 || i == 30 || i == 40 || i == 50 || i == 60 || i == 70 || i == 80 || i == 90) 
     { 
      btn_name = "btn" + Convert.ToString(i); 
      btn_below = this.Controls.Find(btn_name, true)[0]; 
     } 
     if(btn_next.BackColor == Color.GreenYellow) { 

      if (i <= 10 || i == 20 || i == 30 || i == 40 || i == 50 || i == 60 || i == 70 || i == 80 || i == 90) 
       i+= 1; 
      else 
       i++; 
      btn_now = btn_next; 
     } 
     else { 
      btn_now = btn_next; 
      i+=1;      
     } 
     btn_now.BackColor = Color.White; 

    } 
+0

[最小限の完全で検証可能な例](http://stackoverflow.com/help/mcve)を含むように質問を編集してください。 – MJH

+0

配列またはリスト内のボタンへの参照を格納する場合、それらを見つける必要はありません。また、注文を簡単にランダム化することもできます(ゲームの一部であるかどうかはわかりません)。 – Plutonix

+0

あなたの質問は本当にボタンの色を変えることではないですか?あなたは 'btn_now.BackColor = Color.White;'を実行します。これは実際に色を変えるものなので、他のものについてです。そして、私はあなたが何を求めているのかを理解するのに苦労している(同じ質問の前のバージョンを理解していない)。 – Andrey

答えて

0

これは、それは非常に簡単であるWindowsフォームの場合...

これは、ウィンドウ内のすべてのボタンコントロールを探しますし、それが緑色である場合は白に背景色を変更します。 Goボタンイベントに追加します。

foreach(Control control in this.Controls) 
{ 
     if(control is Button) 
     { 
      var btn = control as Button; 

      if(btn.BackColor == Color.Green) 
      { 
      btn.BackColor = Color.White; 
      } 
     } 
} 
+0

ありがとう!私が行くボタンを押すたびに赤いボタンを通過することなくパスを見つける方法。 btn 1はエントリであり、btn 100は終了です。 –

+0

@HopeMgd赤いボタンを通過するとどういう意味ですか?あなたの問題のスクリーンショットを投稿して、それをもっと明確にすることをお勧めします。 –

+0

file:/// C:/Users/Tesfahun/Desktop/c2.png –

関連する問題