私はint型の数は、私がしたいのですが、私のデータベースC#でハードコードされたフォームにイベントを追加するにはどうすればよいですか?
のカウント数に等しいデータベース
内の項目数に基づいて、ボタンを作成するフォームを作成しようとしました私は、C#で新たなんだ
int Count;
List<Panel> pnl = new List<Panel>();
List<Label> tasklevel = new List<Label>();
List<Label> taskStatus = new List<Label>();
List<Label> taskname = new List<Label>();
List<PictureBox> image = new List<PictureBox>();
for (int i = 0; i < Count; i++)
{
Panel pan = new Panel();
pan.Name = "panel" + i;
pan.BackColor = Color.White;
pan.Dock = DockStyle.Top;
pan.Padding = new Padding(10, 0, 10, 10);
pan.Height = 80;
pnl.Add(pan);
Label lbl = new Label()
{
Name = "lbl" + i,
ForeColor = Color.Black,
//Dock = DockStyle.Left,
AutoSize = false,
Width = 0,
BackColor = Color.Silver,
TextAlign = ContentAlignment.MiddleLeft,
Padding = new Padding(10, 10, 10, 10),
Text = "Designing",
}; tasklevel.Add(lbl);
Label lblname = new Label()
{
Name = "lblname" + i,
ForeColor = Color.Black,
Dock = DockStyle.Left,
AutoSize = false,
Width = 0,
BackColor = Color.Gray,
TextAlign = ContentAlignment.MiddleLeft,
Padding = new Padding(10, 10, 10, 10),
Text = "Designing",
}; taskStatus.Add(lblname);
Label tskname = new Label()
{
Name = "tskName" + i,
ForeColor = Color.FromArgb(31, 31, 31),
Font = new Font("Segoe UI", 11, FontStyle.Regular),
Dock = DockStyle.Left,
AutoSize = false,
Width = 200,
BackColor = Color.Gainsboro,
TextAlign = ContentAlignment.MiddleCenter,
Padding = new Padding(10, 10, 10, 10),
Text = "Task Name",
}; taskname.Add(tskname);
PictureBox picBox = new PictureBox()
{
Name = "picBox" + i,
Dock = DockStyle.Fill,
AutoSize = false,
Image = DreametryMIS.Properties.Resources.f1,
SizeMode = PictureBoxSizeMode.StretchImage,
BackColor = Color.FromArgb(240,240,240),
Padding = new Padding(10, 10, 10, 10),
}; image.Add(picBox);
pan.Controls.Add(picBox);
pan.Controls.Add(lblname);
pan.Controls.Add(lbl);
pan.Controls.Add(tskname);
FlowPanel.Controls.Add(pan);
}
、私はラベルをクリックしたとき、それは下のラベル の名前は私のコードであるMesssageBoxに表示されますことを、作成したラベルにイベントや機能を追加し、私はいくつかの缶を願っています助けてください
、
lblname.Click += label_Clicked;
tskname.Click += label_Clicked;
は、ラベルの1つは、現在クリックされた:あなたは今、たとえば、あなたのラベルのClick
イベントにこのハンドラを追加することができます
public void label_Clicked(object sender, EventArgs e)
{
Label label = sender as Label;
if (label == null) return;
MessageBox.Show("Name: " + label.Name + " Text: " + label.Text);
}
:
'Control.EventName + = Delegate_Method();'例えば: 'textBox1.TextChanged + = this.textBox1_TextChanged;' –