2016-10-05 29 views
0

は、私は、Windowsフォームでのラベルのグリッドを作成しようとしているが、列の一方のみが表示されます:このラベルマトリックスが正しく表示されないのはなぜですか?

rows = columns = 20; 
letters = new Label[rows, columns]; 
for (int i = 0; i < rows; i++) 
{ 
    for (int j = 0; j < columns; j++) 
    { 
     letters[i, j] = new Label(); 
     letters[i, j].Parent = this; 
     letters[i, j].Name = i + "_" + j; 
     letters[i, j].TextAlign = ContentAlignment.MiddleCenter; 
     letters[i, j].Location = new Point(20 + 20 * i, 20 + 20 * j); 
     letters[i, j].Visible = true; 
     letters[i, j].Text = "A"; 
    } 
} 

enter image description here

+0

デバッガを使用して、間違っている場所を確認しようとしましたか? – MethodMan

+2

コントロールを手動でレイアウトするのではなく、 'TableLayoutPanel'を使用してください。また、グリッドレイアウトにテキストを表示したい場合は、 'DataGridView'が適しています。 –

+0

@MethodMan私は今、私とjは何の問題もありません – Sponja

答えて

2

あなたはSizeプロパティを割り当てるのを忘れて、そのラベルがちょうど含まれていますデフォルトサイズ(大きな数字はWidth)が他のものと重なっています。

// ... 
letters[i, j].Size = new Size(20, 20); 
// ... 
+0

ありがとう、それは今働きます! – Sponja

関連する問題