//By
//具体看代码吧,我已经帮你实现了。frmTest test = new frmTest();这个是一个窗体,有一个文本框和一个按钮。希望能够帮到你
//定义一个按钮纵坐标
private int buttonY = 0;
//这个是窗体生成动态按钮的那个按钮事件
private void button1_Click_1(object sender, EventArgs e)
{
var btnDynamic = new Button();
btnDynamic.MouseMove += btnDynamic_MouseMove;
//这里给新按钮定义坐标位置
buttonY += btnDynamic.Height;
//这里重新定位
btnDynamic.Location = new Point(20, buttonY);
this.Controls.Add(btnDynamic);
}
private void btnDynamic_MouseMove(object sender, MouseEventArgs e)
{
if (null != sender)
{
Button btn = (Button)sender;
frmTest test = new frmTest();
test.ButtonID = btn.Name;
test.ShowDialog();
btn.Text = test.ButtonName;
}
}
//这个是frmTest窗体的后台代码
public string ButtonID { get; set; }
public string ButtonName { get; set; }
private void button1_Click(object sender, EventArgs e)
{
ButtonName = txtButtonName.Text;
this.Close();
}
动态添加Button :Button btn=new Button();this.Control.add(btn),可以动态加入btn的属性,和事件,还有位置,然后把btn的参数传递给新窗体,即可在新窗体中修改btn的文字(注意这种方式btn要设置为public)
给你写了个,参考下.
我的思路是自己做一个自定义控件,将按钮窗体添加好