我使用like为flowlayoutpanel中的每个数据行添加了一个按钮
foreach (var Item in query.OrderBy(x=> x.menu_sort))
{
var btn = new Button
{
Name = Item.menu_name,
Text = Item.menu_description,
Tag = Item.menu_name,
Size = new Size(107, 50),
Font = new Font("B Nazanin",10)
};
MainPanel.Controls.Add(btn);->我想单击按钮并打开一个表单。<
发布于 2016-12-22 05:58:58
我认为您希望在运行时向控件添加一个事件处理程序,对吗?你可以这样做:
btn.Click += new EventHandler(button_Click);然后,您必须使用正确的签名在某个地方实现方法button_Click:
private void button_Click(object sender, System.EventArgs e)
{
// Do stuff
MyForm form = new MyForm();
form.Show();
}发布于 2016-12-22 05:59:14
我想点击按钮并打开一个表单。
在创建这些按钮时,将这些按钮的Click()事件关联起来:
private void Foo()
{
foreach (var Item in query.OrderBy(x=> x.menu_sort))
{
var btn = new Button
{
Name = Item.menu_name,
Text = Item.menu_description,
Tag = Item.menu_name,
Size = new Size(107, 50),
Font = new Font("B Nazanin",10)
};
btn.Click += Btn_Click;
MainPanel.Controls.Add(btn);
}
}
private void Btn_Click(object sender, EventArgs e)
{
Button btn = (Button)sender;
// now do something with "btn", maybe based on btn.Tag?
}https://stackoverflow.com/questions/41272350
复制相似问题