2009-06-07 17 views
4

Microsoft Visual C#Express Editionでラベルの配列を作成する方法は?グラフィカルな(drag'n'drop)エディタでそれを行う方法はありますか、それとも手動で自動生成されたコードに追加する必要がありますか?ラベルの配列

+1

は、生成されたコードでは何も変更はありません:あなたの変更が –

答えて

13

手動で追加する必要があります。しかし、Visual Studioデザイナーが上書きできるように、自動生成コードには追加しないでください。

フォームのLoadイベントハンドラに追加します。コードは次のようになります。

Label[] labels = new Label[10]; 
labels[0] = new Label(); 
labels[0].Text = "blablabla"; 
labels[0].Location = new System.Drawing.Point(100, 100); 
... 
labels[9] = new Label(); 
... 

PS。あなたの仕事は私にとっては珍しいようです。何をしたいですか?多分あなたの仕事を達成するためのより良い方法があります。

+0

おかげで...私はチューリング機械シミュレータをやっているデザイナーによって上書きされます。これらのラベルはテープの一部を表します – dpetek

6

あなたは、フォーム負荷の配列にそれらを追加し、GUIエディタを使用して、フォームにラベルを追加することができます。

Label[] _Labels = new Label[3]; 
private void MyForm_Load(object sender, EventArgs e) 
{ 
    _Labels[0] = this.Label1; 
    _Labels[1] = this.Label2; 
    _Labels[2] = this.Label3; 
} 

これは、少なくとも場所の設定を容易にします。また、ラベル(または実際のコントロール)を動的に作成する場合は、FlowLayoutPanelの使用を検討することもできます。

0
Label[ , ] _arr = new Label[4 , 4]; 

private void Form1_Load(object sender, EventArgs e) 
{ 
for(int i=0;i<4;i++){ 
    for(int j=0;j<4;j++){ 
     _arr[i ,j] = new Label(); 
     _arr[i ,j].Text = ""+i+","+j; 
     _arr[i ,j].Size = new Size(50,50); 
     _arr[i ,j].Location = new Point(j*50,i*50); 
     //you can set other property here like Border or else 
     this.Controls.Add(_arr[i ,j]); 
    } 
} 
} 

あなたがC#でラベルのボーダーを設定したい場合は、多分あなたは http://msdn.microsoft.com/en-us/library/system.windows.forms.label.aspx

ラベルのボーダーと呼ばれる性質を持って確認する必要があります。これをチェックしてください。おかげ

0
int i=0; 
ControlNum=10; 
Label[] lblExample= new Label[]; 
for(i=0;i<ControlNum;i++) 
{ 
    lblExample[i] = new Label(); 
    lblExample[i].ID="lblName"+i; //lblName0,lblName1,lblName2.... 

Form1.Controls.Add(lblExample[i]); 
} 

xDさん...

Joshit0 ..

+0

Label []宣言行に間違った種類の括弧を使用しています。このコードはコンパイルされません。 –

+0

それは正しい..スティーブンに感謝...(y) –