将背景图像分配给数据库中的按钮
本文关键字:按钮 数据库 背景 图像 分配 | 更新日期: 2023-09-27 18:28:37
我是C#的新手,正在制作一个从数据库存储值创建按钮的表单。我已经在表中存储了图像,我不知道如何以这种方式添加图像
这是代码
SqlDataAdapter adapt = new SqlDataAdapter("select * from Items order by name", sc);
DataTable dt = new DataTable();
adapt.Fill(dt);
for (int i = 0; i < dt.Rows.Count; i++)
{
Button btn = new Button();
btn.Name = "btn" + dt.Rows[i][1];
btn.Tag = dt.Rows[i][2];
btn.BackgroundImage = dt.Rows[i][5];
btn.Text = dt.Rows[i][1].ToString();
btn.Font = new Font("Arial", 12f, FontStyle.Bold);
btn.Height = 60;
btn.Width = 120;
flowLayoutPanel1.Controls.Add(btn);
}
出现此错误
错误5无法将类型"object"隐式转换为"System.Drawing.Image"。存在显式转换(是否缺少演员阵容?)
我建议将包含图像的列转换为字节,然后执行以下操作:(或者它也适用于图像。我不确定)
byte[] data = (byte[]) dt.Rows[i][5];
MemoryStream ms = new MemoryStream(data);
btn.BackgroundImage = Image.FromStream(ms);
此外,这个问题的答案有多个答案,您可以使用