c# - 图像未显示在 C# 的列表视图中
问题描述
我正在开发 Winforms,我在数据库中保存图像路径,然后检索路径并将其提供给 Imagelist。Image 列表中的图像用于 ImageView。但图像未显示,其路径正确显示但图像未显示。
public void yourvideos(string user, ImageList imageList, ListView lv, Label l,TextBox s)
{
cmd = new SqlCommand("select Title,Thumbnail from RecipeInfo where Username=@username", con);
cmd.Parameters.AddWithValue("@username", user);
con.Open();
SqlDataReader reader = cmd.ExecuteReader();
if (reader.HasRows)
{
int count = 0;
while (reader.Read())
{
s.Text = reader[1].ToString();
imageList.ImageSize = new Size(100, 100);
imageList.Images.Add("key"+count,Image.FromFile($@"{reader[1]}"));
var listviewitem = lv.Items.Add(reader[0].ToString(), count);
listviewitem.ImageKey = "key" + count;
count++;
}
}
else
{
l.Visible = true;
l.Text = "Upload videos and share your recipes with others";
}
reader.Close();
con.Close();
}
解决方案
这个问题我用的时候也出现过,我key
用Index
.
你可以参考我的代码:</p>
public Form1()
{
InitializeComponent();
this.listView1.View = View.LargeIcon;
yourvideos(this.imageList1,this.listView1);
}
public void yourvideos( ImageList imageList1, ListView listView1)
{
string sql = "...";
SqlConnection con = new SqlConnection(sql);
SqlCommand cmd = new SqlCommand("select Title,Thumbnail from RecipeInfo", con);
con.Open();
SqlDataReader reader = cmd.ExecuteReader();
int i = 0;
if (reader.HasRows)
{
while (reader.Read())
{
string title = reader["Title"].ToString();
string picurl = reader["Thumbnail"].ToString();
imageList1.ImageSize = new Size(60, 60);
imageList1.Images.Add(Image.FromFile(picurl));
ListViewItem item = new ListViewItem();
item.Text = Convert.ToString(title);
listView1.Items.Add(item);
item.ImageIndex = i;
i++;
}
}
listView1.LargeImageList = imageList1;
reader.Close();
con.Close();
}
结果:
推荐阅读
- numpy - 使用 keras 在 tensorflow 2.0 中模型没有急切执行
- python - Python 正则表达式替换非 ASCII 字符,例如长破折号、 等。带有来自文本文件 sample.txt 的单个连字符
- css - 如何将父背景重叠到子背景
- c# - 将字典转换为 Json 并返回时出现意外错误
- r - 如何在闪亮的r中设置if条件?
- arrays - Angular 8:检查数组包含组件视图中的字符串值在 IE 中不起作用
- eclipse - Eclipse GIT 对单个文件的拉取和推送操作
- rest - 如何从气流休息 api 获取失败状态 dag 的气流 dag 错误信息?
- node.js - Nodejs 在 haproxy 后面表达 web 后端
- c++ - 使用 std::accumulate 查找数组的总和