2012-05-07 10 views
0

(新しい)lblArrayを35個のラベルで作成するメソッドがありますが、ボタンのプッシュで配列のラベルをリセットする必要があります。ランタイム時にラベル[、]のプロパティを変更する

だから私はbutton1_onclickに同じ方法を入れてきましたが、それは単に前のものの下に新しい配列を作る。..

は、君たちは正しい方向に私をしてください押してもらえますか?

ありがとうございます! はデビッド

いくつかのコード:

public void CreateLableArray() {  
     LblArray = new Label[5, 7]; 
     int xpos = 0; 
     int ypos = 0; 

     for (int x= 0; x< 5; x++) { 
     for (int y= 0; y< 7; y++) { 
      LblArray[x, y] = new Label(); 
      LblArray[x, y].Left = xpos; 
      LblArray[x, y].Top = ypos; 
      LblArray[x, y].Width = 50; 
      LblArray[x, y].Height = 50; 
      LblArray[x, y].Text = String.Empty;   
      LblArray[x, y].Click += lblArray_Click; 
      LblArray[x, y].BackColor = Color.Aqua; 
      LblArray[x, y].BorderStyle = BorderStyle.FixedSingle; 

      pnlPanel.Controls.Add(LblArray[x, y]); 

      xpos += LblArray[x, y].Width; 
     } 
     ypos += LblArray[x, 0].Width; 
     xpos = 0; 
     } 
    }/*CreateLableArray*/ 

private void EmptyLabels() { 
     for (int x = 0; x < 5; x++) { 
     for (int y = 0; y < 7; y++) { 
      LblArray[x, y].BackColor = Color.Aqua; 
     } 
     } 
    } 
+0

あなたはこれまで行ってきたことを想像してみてください... – Reniuz

+0

リセットの意味は?あなたはまったく新しいlablesを持っていなければなりませんか、あるいは単にテキストを空にすることができますか? – Servy

+0

ラベルをクリックすると、一連のチェックが実行され、これらが真であればラベルの色が変わります。それ以外は同じです。 リセットボタンは実際には "新しいゲーム"ボットンなので、ラベルは元の色に変更する必要があります 私はget setと新しいメソッド "clearingLabels"を使ってみましたが、それはうまくいきませんでした – David

答えて

0

それはあなたがラベルに変更する必要があるすべては自分の色であるように聞こえるので、のではなく、新しいラベルを作成し、古いものを除去する作業のすべてを通過すると、新しいラベルを追加すると、既存のラベルの色を変更するほうがはるかに簡単になります。最初に別の色に変更する方法を見つけたので、これを行うことができると思いますか?そうでない場合は、関連するコードスニペットでお手伝いできます。

+0

悲しいことに、私はpnlPanel.Controls.Add(LblArray [x、y]);を忘れてしまった。 :/ あなたの時間を忘れて申し訳ありません=( – David

+0

@David心配しないでください、それは常に私たちの最高を得る小さな間違いです。 – Servy

関連する問題