我有一个关于向生成的按钮添加函数的问题。我想按下一个按钮就可以转到另一个.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, ...)
{
...
}