将单击功能添加到生成的按钮WinForms(_C)



我有一个关于向生成的按钮添加函数的问题。我想按下一个按钮就可以转到另一个.cs。

确切的事件:

PartnerInfo partnerInfo = new PartnerInfo();
partnerInfo.Show();

按钮是在每行的"TableLayoutPanel"中生成的。我现在为表格使用的代码:

//get a reference to the previous existent 
RowStyle temp = MyPartnersPanel.RowStyles[MyPartnersPanel.RowCount - 1];
//increase panel rows count by one
MyPartnersPanel.RowCount++;
//add a new RowStyle as a copy of the previous one
MyPartnersPanel.RowStyles.Add(new RowStyle(temp.SizeType, temp.Height));
//add your controls
MyPartnersPanel.Controls.Add(
new TextBox() {
Text = PartnerName, ReadOnly=true }, 0, MyPartnersPanel.RowCount - 1);
MyPartnersPanel.Controls.Add(new TextBox() { Text = PartnerLevel, ReadOnly = true }, 1, MyPartnersPanel.RowCount - 1);
MyPartnersPanel.Controls.Add(new TextBox() { Text = PartnerGoal, ReadOnly = true }, 2, MyPartnersPanel.RowCount - 1);
MyPartnersPanel.Controls.Add(new TextBox() { Text = WorkoutPerWeek, ReadOnly = true }, 3, MyPartnersPanel.RowCount - 1);
MyPartnersPanel.Controls.Add(new Button() { Text = "+", BackColor = Color.Black, ForeColor = Color.White, Height = 29, }, 4, MyPartnersPanel.RowCount - 1);
)};

非常感谢您的帮助。如果这很重要的话,我在.NET Core 3.1中工作

将创建按钮的语句一分为二,这样就可以访问按钮:

MyPartnersPanel.Controls.Add(new Button() { Text = ...

应为:

Button btn  new Button() {Text = ...};
MyPartnersPanel.Controls.Add(btn);
// attach an event handler:
btn.Clicked += this.ButtonClickedEventHandler;
private void ButtonClickedEventHandler(object sender, ...)
{
...
}

最新更新