从数据库以编程方式设置按钮图像
本文关键字:设置 按钮 图像 方式 编程 数据库 | 更新日期: 2023-09-27 18:13:53
这是我第一次在这里发问题,真的希望有人能帮助我。
我有一个select语句,它从数据库中的ProductsTable中的每一行检索数据,并从中创建一个按钮。表中的每一行都有一个图像,我想将该图像分配为按钮图标。其他一切都很好。例如,按钮成功地创建了它的标签和价格,但图像位不工作。这是我用于检索和创建按钮的代码。
try
{
string sqlQuery2 = @"SELECT tp.Description AS [Description], tcpf.Frequency AS [Frequency],
tcpf.Price AS [Price]
FROM tblCustProdFreq tcpf
INNER JOIN tblProduct tp ON tp.ProductID = tcpf.ProductID
WHERE tcpf.CustomerID = " + custID +
"ORDER BY tp.Description";
using (SqlCommand comm = new SqlCommand(sqlQuery2, DatabaseConnectionClass.conn))
{
using (SqlDataReader reader = comm.ExecuteReader())
{
while (reader.Read())
{
Button newBtn = new Button();
newBtn.FlatStyle = FlatStyle.Popup;
newBtn.Text = reader["Description"].ToString();
newBtn.Tag = reader["Price"].ToString();
newBtn.Size = new System.Drawing.Size(70, 40);
newBtn.Click += new EventHandler(newBtn_Click);
flowLayoutPanel1.Controls.Add(newBtn);
谁能帮我完成代码,使它分配一个图像的按钮…(我故意没有在SELECT语句中包含图像)
您需要先获得二进制数据,然后将其"转换"为图像:
byte[] data = (byte[])reader["YourColumnName"];
using (MemoryStream ms = new MemoryStream(data))
{
//here you get the image and assign it to the button.
Image image = new Bitmap(ms);
}