怎么动态的改变ImageList的图标???

Lifeihu 2008-11-04 11:02:47
大家好:我用WinForm做的一个监测小软件,列表框中以大图标方式显示监测的设备,每个图标代表一种状态,当某个设备的状态改变时,修改该图标(即换一个图标),但其他项图标不变。请问具体该怎么办?请指教!能不能提供些代码,万分感谢!!!
...全文
174 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
全速前行 2008-11-04
  • 打赏
  • 举报
回复
ding3楼的
就是这么个道理啊
wangping_li 2008-11-04
  • 打赏
  • 举报
回复
[Quote=引用楼主 Lifeihu 的帖子:]
大家好:我用WinForm做的一个监测小软件,列表框中以大图标方式显示监测的设备,每个图标代表一种状态,当某个设备的状态改变时,修改该图标(即换一个图标),但其他项图标不变。请问具体该怎么办?请指教!能不能提供些代码,万分感谢!!!
[/Quote]
LZ都知道这了,那取设备状态变换的时候应该知道吧?
比如你开先是A状态,现在变成B,肯定有事件触发的,就在这里面写不就好了,
if(A状态)
绑定A图标
else if(B状态)
绑定B图标
a315823806 2008-11-04
  • 打赏
  • 举报
回复
用个Timer来检测状态是否改变。如果改变。这重设列表框中以大图标。
Lifeihu 2008-11-04
  • 打赏
  • 举报
回复
没有人知道吗?
wangping_li 2008-11-04
  • 打赏
  • 举报
回复
放到ImageList中,到时你ListBox的img直接指定为ImageList的名称就可以了
在程序中根据判断来直接跟ImageList图片的名称就可以自动绑定的
Lifeihu 2008-11-04
  • 打赏
  • 举报
回复
放到ImageList里怎么改变?
heyuanxing 2008-11-04
  • 打赏
  • 举报
回复
正解[Quote=引用 7 楼 simonezhlx 的回复:]
引用楼主 Lifeihu 的帖子:
大家好:我用WinForm做的一个监测小软件,列表框中以大图标方式显示监测的设备,每个图标代表一种状态,当某个设备的状态改变时,修改该图标(即换一个图标),但其他项图标不变。请问具体该怎么办?请指教!能不能提供些代码,万分感谢!!!

lz,ImageList中的图标应该是会被编译成资源的,所以在运行时应该是不能改变的.应该是将所有状态的图标全放到你的ImageList中,而显示时根据不同的状态去使用…
[/Quote]
simonezhlx 2008-11-04
  • 打赏
  • 举报
回复
[Quote=引用楼主 Lifeihu 的帖子:]
大家好:我用WinForm做的一个监测小软件,列表框中以大图标方式显示监测的设备,每个图标代表一种状态,当某个设备的状态改变时,修改该图标(即换一个图标),但其他项图标不变。请问具体该怎么办?请指教!能不能提供些代码,万分感谢!!!
[/Quote]
lz,ImageList中的图标应该是会被编译成资源的,所以在运行时应该是不能改变的.应该是将所有状态的图标全放到你的ImageList中,而显示时根据不同的状态去使用不同ImageList下的不同索引的Image就可以了.
zjsxr 2008-11-04
  • 打赏
  • 举报
回复
mark
Lifeihu 2008-11-04
  • 打赏
  • 举报
回复
现在的问题就是,我怎么只改变ImageList中某一项的图标.我的代码是这样的,可他要不显示的都是a.ICO,要不就都是b.ICO
ListViewItem item1 = new ListViewItem("10", 0);
ListViewItem item2 = new ListViewItem("110", 0);
listView1.Items.Add(item1);
listView1.Items.Add(item1);
ImageList imageListLarge = new ImageList();
if (Convert.ToInt32( item1.Text)<102)
{
imageListLarge.Images.Add(Bitmap.FromFile(@"F:\Resources\a.ICO"));
listView1.LargeImageList = imageListLarge;
}
else
{
imageListLarge.Images.Add(Bitmap.FromFile(@"F:\Resources\b.ico"));
listView1.LargeImageList = imageListLarge;
}

110,538

社区成员

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

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

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