当前位置:编程学习 > C#/ASP.NET >>

关于 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#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,