关于 listViewEx 添加选 并加入图片的索引问题
问题如下:1.如果load事件 给listViewEx 加入了 多个项并加入了图片(数据正常) 那么在 listViewEx 上面右键添加的时候不会出现问题
2.如果 load事件 没有给listViewEx 任何数据 那么在listViewEx 上面右键添加时 首次加入项 图片无法显示,第二次才
加入选项时图片才出来,但是图片的对应选项不对!
代码如下:
xmlClass xl = new xmlClass();
ListViewItem lvi;
ImageList il;
load 事件
private void FormShortcuts_Load(object sender, EventArgs e)
{
il = new ImageList();
DataTable dt = xl.xmltodatatable();
if (dt.Rows.Count > 0)
{
//写法1
foreach (DataRow dr in dt.Rows)
{
lvi = this.listViewEx1.Items.Add(dr["NM"].ToString());
lvi.Tag = dr["URL"];
lvi.ImageIndex = int.Parse(dr["ID"].ToString());
//通过路径获取此程序的icon图片
//System.Drawing.Icon.ExtractAssociatedIcon(dr["URL"].ToString()).ToBitmap()
il.Images.Add(System.Drawing.Icon.ExtractAssociatedIcon(dr["URL"].ToString()).ToBitmap());
}
il.ImageSize = new Size(32, 32);
}
this.listViewEx1.LargeImageList = il;
}
//右键添加
private void ToolSAddItem_Click(object sender, EventArgs e)
{
OpenFileDialog of = new OpenFileDialog();
of.Filter = "所有文件(*.*)|*.*";
if (of.ShowDialog() == DialogResult.OK)
{
int t=this.listViewEx1.Items.Count;
lvi = this.listViewEx1.Items.Add(of.SafeFileName.Split('.')[0]);
lvi.Tag = of.FileName;
lvi.ImageIndex = t;
//this.pictureBox1.Image = System.Drawing.Icon.ExtractAssociatedIcon(of.FileName).ToBitmap();
lvi.ImageList.Images.Add(System.Drawing.Icon.ExtractAssociatedIcon(of.FileName).ToBitmap());
lvi.ImageList.ImageSize = new Size(32, 32);
//保存数据到xml
xl.addxml(of.SafeFileName, of.FileName);
}
}
补充:.NET技术 , C#