Winfrom动态插入btn按钮
private void UpdateGoods()
{
IniFile file = new IniFile(System.Windows.Forms.Application.StartupPath + "\\Config.ini");
string ScaleID = file.IniReadValue("DianZiCheng", "ScaleID");
if (ScaleID.Length > 0)
{
gb2.Controls.Clear();
cmb_goodsname.Items.Clear();
Database conn = DatabaseFactory.CreateDatabase();
conn.Open();
DataTable dt = conn.GetDataTable(@"select DISTINCT a.goods_id,b.goods_name from tb_ScaleGoods a
left join tb_GoodsInfo b on a.goods_id = b.id
where a.scale_id = '" + ScaleID + "' and a.state = 0");
conn.Close();
int x = Padding;
int y = Padding;
for (int i = 0; i < dt.Rows.Count; i++)
{
cmb_goodsname.Items.Add(new ListItem(dt.Rows[i]["goods_name"].ToString(), dt.Rows[i]["goods_id"].ToString()));
int goodsId = int.Parse(dt.Rows[i]["goods_id"].ToString());
string goodsName = dt.Rows[i]["goods_name"].ToString();
Button btn = new Button
{
Name = $"btn_{goodsId}",
Text = goodsName,
Width = ButtonWidth,
Height = ButtonHeight,
Location = new Point(x, y),
BackColor = Color.Green,
ForeColor = Color.White,
FlatStyle = FlatStyle.Flat,
Font = new Font("黑体", 14F, FontStyle.Regular)
};
btn.Click += (sender, e) => Button_Click(goodsId, goodsName);
gb2.Controls.Add(btn);
x += ButtonWidth + Padding;
if (x + ButtonWidth > gb2.ClientSize.Width - Padding)
{
x = Padding;
y += ButtonHeight + Padding;
}
}
}
}