listview无法显示图片 有代码

lazygank 2010-11-07 10:44:22
public static class ListViewBind{
public static ImageList imageList = null;
// 获得ImageList
public static ImageList ImgListBind()
{
imageList = new ImageList();
imageList.ColorDepth = ColorDepth.Depth24Bit;
imageList.ImageSize = new Size(105, 105);
for (int i = 1; i <=11; i++)
{
imageList.Images.Add(Image.FromFile(Application.StartupPath + "\\" + (i).ToString() + ".jpg"));
string strName = imgNameArr[i-1].ToString();
}
return imageList;
}
public static ListView lv = null;
// 绑定ListView
public static ListView lvBind()
{
// 如果ImageList为空 则返回
if (ImgListBind() == null)
{
return null;
}
// 新建一个ListView
else
{
lv = new ListView();
lv.LargeImageList = ImgListBind();
for (int i = 1; i <= 11; i++)
{
lv.Items.Add(imgNameCNArr[i - 1].ToString());
lv.Items[i - 1].ImageIndex = i - 1;
}
return lv;
}
}
}

//imgNameCNArr和imgNameArr都是定义好的数组、
在Form中设计状态下已经添加了一个ListView名称是lvShape,属性什么的都是默认设置的。

form_load
{
lvShape = BLL.ListViewBind.lvBind();
}

运行之后无法显示图片 ListView还是一片空白。。
是不是函数写的不对,在bin目录下的debug中已经放置好了相应名称的图片。。
...全文
310 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
龍过鸡年 2010-11-12
  • 打赏
  • 举报
回复
首先表明,我没有任何的偏见或鄙视(我也如大家一般摸索着),下面只是个人的建议:

你提出的问题是我几年前就遇到的,问题早就过时了,连源代码都找不到了!
众所周知,在 dotNet3/4 里,控件都是没脸没皮的,你想如何搓揉都行,连呈现的数据都是感知应用咯~~~~
所以,希望刚刚接触编程的童鞋们不要再继续 dotNet2 咯!

如果想继续学习,建议大家先去看看 Google、Opera、Box.net、Evernote 等网站,瞅瞅别人的应用理念。

现在编程工具和数据库都已不是障碍,一个好的应用才是王道啊!
flyerwing 2010-11-09
  • 打赏
  • 举报
回复
是不是图片路径不对呀.
hgyin212314 2010-11-09
  • 打赏
  • 举报
回复
private void btn_add_Click(object sender, EventArgs e)
{
Bitmap Map_1 = new Bitmap(@"2.bmp");
imageList.ImageSize = new Size(60, 60);
//m_list.SmallImageList = imageList;
imageList.Images.Add(Image.FromHbitmap(Map_1.GetHbitmap()));
ListViewItem lvi = new ListViewItem();

lvi.ImageIndex = 0;
this.m_list.Items.Add(lvi);
m_index.Add(0);

//i++;
}
lz看看行不?我这里是可以用的
shichao102471077 2010-11-09
  • 打赏
  • 举报
回复
额额额额。这个问题没有遇到过。。
龍过鸡年 2010-11-08
  • 打赏
  • 举报
回复
public static ImageList imageList = null;
public static ListView lv = null;

感觉定义很怪异啊!
是为了不重复分配内存考虑?

imageList 和 lv 对象是随时可以访问的呀~

貌似方法 public static ImageList ImgListBind() 可以定义为
public static void ImgListBind() 或者
public static bool ImgListBind() 吧

还有,我记得在 WinForm 中,被绑定了的 ImageList 要先解除绑定才能被再次加载图像的


quifar123 2010-11-08
  • 打赏
  • 举报
回复
study...
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lazygank 的回复:]
对的,我错了,被绑定了的 ImageList 要先解除绑定才能被再次加载图像的这个问题很严重。。
[/Quote]

嗯 这个貌似让我纠结了一次
lazygank 2010-11-08
  • 打赏
  • 举报
回复
对的,我错了,被绑定了的 ImageList 要先解除绑定才能被再次加载图像的这个问题很严重。。
lazygank 2010-11-07
  • 打赏
  • 举报
回复
尝试了下 没有作用还。。
兔子-顾问 2010-11-07
  • 打赏
  • 举报
回复
在Bind方法中执行一行
lv.View = View.LargeIcon;
这样试试。

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧