C# 动态显示按钮
我正在制作一个应用程序(windows窗体),其中有不同的按钮。我的目标是根据变量的值显示不同的按钮。例如,如果变量的值为10,它将显示前10个按钮 到目前为止,我的代码是:C# 动态显示按钮,c#,winforms,button,datatable,show,C#,Winforms,Button,Datatable,Show,我正在制作一个应用程序(windows窗体),其中有不同的按钮。我的目标是根据变量的值显示不同的按钮。例如,如果变量的值为10,它将显示前10个按钮 到目前为止,我的代码是: MySqlCommand command = new MySqlCommand("SELECT id_produto, designacao FROM produtos ORDER BY id_categoria ASC;", mConn); MySqlDataAdapter dacom = new MySqlDataA
MySqlCommand command = new MySqlCommand("SELECT id_produto, designacao FROM
produtos ORDER BY id_categoria ASC;", mConn);
MySqlDataAdapter dacom = new MySqlDataAdapter(command);
mConn.Open();
dacom.Fill(dtprodutos);
numprodutos = dtprodutos.Rows.Count;
for (int i = 1; i <= numprodutos; i++)
{
bprod[i].Show();
}
MySqlCommand=newmysqlcommand(“选择id\u produto,designcao FROM
按id_categoria ASC;“,mConn)排序的产品订单;
MySqlDataAdapter dacom=新的MySqlDataAdapter(命令);
mConn.Open();
dacom.Fill(dtprodutos);
numprodutos=dtprodutos.Rows.Count;
对于(int i=1;i将所有按钮放在一个键入的列表中。在表单范围内声明它(例如,在表单构造函数上方)。然后,在初始化组件之后(或在表单加载中)将所有按钮添加到列表中
或者,使用linq
buttonList.Take(numprodutos).ToList().ForEach(btn => btn.Show());
我和你的编译器有同样的问题:我不知道bprod
应该是什么。它是在哪里定义的?哦,对不起,我忘了说…我的按钮叫做bprod1、bprod2、bprod3等等,直到25岁。这是一个windows窗体应用程序。我假设bprod
会从0
变成numprodutos-1
。所以你会需要有:for(inti=0;i
(注意这里有2个变化。)是这样吗?例如,如果您的第一个按钮被称为bprod1
,您为什么认为可以像bprod[1]那样访问它
?可能是重复的感谢!!!很有效!你无法想象我在这上面花了多少时间。再次感谢!不是我……我甚至不能公开投票……你的回答帮助了我!@MiniKing17 Tiago,别担心,我不会指责任何人。如果你能从投反对票的人那里解释为什么投反对票,那就太好了……这样我就可以学习和跳过mi了下一次是赌注还是错误的做法。我想,那个否决你的人,也否决了我的问题。
numprodutos = dtprodutos.Rows.Count;
for (int i = 1; i <= numprodutos; i++)
{
buttonList[i].Show();
}
buttonList.Take(numprodutos).ToList().ForEach(btn => btn.Show());