このコードは、このシーケンスでラベルを生成するのに役立ちます。
A1 A2 A3 A4 A5
B1 B2 B3 B4 B5
C1 C2 C3 C4 C5
D1 D2 D3 D4 D5
しかし、今私が欲しいのは、ラベルをクリックできることです。すべてのラベルには独自の ID があり、チェックするメソッドを呼び出して自由に使用できます。
だから私は太字部分を自動生成させる必要があります
vartable[namelabel].Click += new System.EventHandler(**vartable[namelabel]_Click**);
namelabel は、名前または
Private void lbl11_Click
私に何ができる?
private void button1_Click(object sender, EventArgs e)
{
for (int i = 1; i <= 9; i++)
{
for (int q = 1; q <= 9; q++)
{
string lettle="a";
if(i==1)
{
lettle="A";
}
else if(i==2)
{
lettle="B";
}
else if (i == 3)
{
lettle = "C";
}
else if (i == 4)
{
lettle = "D";
}
else if (i == 5)
{
lettle = "E";
}
else if (i == 6)
{
lettle = "F";
}
else if (i == 7)
{
lettle = "G";
}
else if (i == 8)
{
lettle = "H";
}
else if (i == 9)
{
lettle = "I";
}
string labeltext = lettle + q;
int y = (100 + (q * 20));
int x = (100 + (i * 20));
string namelabel = "lbl" + i + q;
var method = namelabel;
var vartable = new Dictionary<string, Label>();
vartable[namelabel] = new Label();
vartable[namelabel].AutoSize = true;
vartable[namelabel].Location = new System.Drawing.Point(y, x);
vartable[namelabel].Name = namelabel;
vartable[namelabel].Size = new System.Drawing.Size(35, 13);
vartable[namelabel].TabIndex = 1;
vartable[namelabel].Text = labeltext;
vartable[namelabel].Cursor = System.Windows.Forms.Cursors.Hand;
this.Controls.Add(vartable[namelabel]);
vartable[namelabel].Click += new System.EventHandler(**vartable[namelabel]_Click**);
}
}