解决为点击事件生成的按钮
本文关键字:按钮 事件 解决 | 更新日期: 2023-09-27 18:33:47
我有一个类,它根据我的数据库创建带有控件的面板。它创建一个面板,每个面板上都有一个按钮,在数据库中的每一行。如何解决一个特定按钮来生成点击事件?
我是个菜鸟,也许在我的头上,但你没有学会在浅水区游泳;)任何帮助表示赞赏!
while (myDataReader.Read())
{
i++;
Oppdrag p1 = new Oppdrag();
p1.Location = new Point (0, (i++) * 65);
oppdragPanel.Controls.Add(p1);
p1.makePanel();
}
class Oppdrag : Panel
{
Button infoBtn = new Button();
public void makePanel()
{
this.BackColor = Color.White;
this.Height = 60;
this.Dock = DockStyle.Top;
this.Location = new Point(0, (iTeller) * 45);
infoBtn.Location = new Point(860, 27);
infoBtn.Name = "infoBtn";
infoBtn.Size = new Size(139, 23);
infoBtn.TabIndex = 18;
infoBtn.Text = "Edit";
infoBtn.UseVisualStyleBackColor = true;
}
}
您需要一个与通过单击按钮引发的事件匹配的方法。
即)
void Button_Click(object sender, EventArgs e)
{
// Do whatever on the event
}
然后,您需要将点击事件分配给该方法。
p1.infoBtn.Click += new System.EventHandler(Button_Click);
希望这有帮助。
可以在创建按钮时为按钮添加事件处理程序。您甚至可以为每个按钮添加唯一的CommandArgument
,以便将一个按钮与另一个按钮区分开来。
public void makePanel()
{
/* ... */
infoBtn.UseVisualStyleBackColor = true;
infoBtn.Click += new EventHandler(ButtonClick);
infoBtn.CommandArgument = "xxxxxxx"; // optional
}
public void ButtonClick(object sender, EventArgs e)
{
Button button = (Button)sender;
string argument = button.CommandArgument; // optional
}