只是将VIEW 格式设置为 LargeIcon
然后设置CheckBox 属性 为 true 
就出现上述图片现象了

解决方案 »

  1.   

    只是将VIEW 格式设置为 LargeIcon
    然后设置CheckBox 属性 为 true 
    就出现上述图片现象了
    我按照你说的设置了,是正常的显示,并没有像你这样。
      

  2.   

    只是将VIEW 格式设置为 LargeIcon
    然后设置CheckBox 属性 为 true 
    就出现上述图片现象了
    我按照你说的设置了,是正常的显示,并没有像你这样。
    不会吧,我把代码给你,你再试试。谢谢了!using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Collections;namespace ListViewTest
    {
        public partial class UserControl1 : UserControl
        {
            public UserControl1()
            {
                InitializeComponent();            
            }
            private void DataFill()
            {
                ColumnHeader ch = new ColumnHeader();
                ch.Text = "列标题1";
                ch.Width = 120;
                ch.TextAlign = HorizontalAlignment.Left;
                this.listView1.Columns.Add(ch);
                this.listView1.BeginUpdate();
                for (int i = 0; i < 10; i++)
                {
                    ListViewItem lvi = new ListViewItem();
                    lvi.ImageIndex = i;
                    lvi.Text = "Item" + i;
                    this.listView1.Items.Add(lvi);
                }
                this.listView1.SmallImageList = this.smallImageList;
                this.listView1.LargeImageList = this.largeImageList;
                this.listView1.EndUpdate();  
            }
    //button 填充数据
            private void Btn_FillData_Click(object sender, EventArgs e)
            {
                DataFill();
            }
    //comboBox 转换边框
            private void cmbxBordStyle_SelectedIndexChanged(object sender, EventArgs e)
            {
                switch (cmbxBordStyle.SelectedIndex)
                { 
                    case 0:
                        listView1.BorderStyle = BorderStyle.None;
                        break;
                    case 1:
                        listView1.BorderStyle = BorderStyle.FixedSingle;
                        break;
                    case 2:
                        listView1.BorderStyle = BorderStyle.Fixed3D;
                        break;
                }
            }
    //comboBox 转换对齐方式
            private void cmbxAheadStyle_SelectedIndexChanged(object sender, EventArgs e)
            {
                switch (cmbxAheadStyle.SelectedIndex)
                {
                    case 0:
                        listView1.Alignment =  ListViewAlignment.Default;
                        break;
                    case 1:
                        listView1.Alignment = ListViewAlignment.Left;
                        break;
                    case 2:
                        listView1.Alignment = ListViewAlignment.Top;
                        break;
                    case 3:
                        listView1.Alignment = ListViewAlignment.SnapToGrid;
                        break;
                }
            }
    //comboBox 转换View
            private void cmbxViewStyle_SelectedIndexChanged(object sender, EventArgs e)
            {
                switch (cmbxViewStyle.SelectedIndex)
                {
                    case 0:
                        listView1.View = View.LargeIcon;
                        break;
                    case 1:
                        listView1.View = View.SmallIcon;;
                        break;
                    case 2:
                        listView1.View = View.List;
                        break;
                    case 3:
                        listView1.CheckBoxes = false;
                        listView1.View = View.Tile;                 
                        break;
                    case 4:
                        listView1.View = View.Details;
                        listView1.GridLines = true;
                        break;
                }
            }
    //comboBox 详细信息下转换列表头模式
            private void cmbxClmHeadStyle_SelectedIndexChanged(object sender, EventArgs e)
            {
                switch (cmbxClmHeadStyle.SelectedIndex)
                {
                    case 0:
                        listView1.HeaderStyle = ColumnHeaderStyle.None;
                        break;
                    case 1:
                        listView1.HeaderStyle =  ColumnHeaderStyle.Nonclickable;
                        break;
                    case 2:
                        listView1.HeaderStyle = ColumnHeaderStyle.Clickable;
                        break;
                }
            }
    //checkbox转换是否显示Checkbox
            private void chkBxIShowBox_CheckedChanged(object sender, EventArgs e)
            {
                if (listView1.View != View.Tile)
                {
                    listView1.CheckBoxes = chkBxIShowBox.Checked;
                }
            }
    //comboBox 切换排序方式
            private void cmbxSortStyle_SelectedIndexChanged(object sender, EventArgs e)
            {
                switch (cmbxSortStyle.SelectedIndex)
                {
                    case 0:
                        listView1.Sorting = SortOrder.None; 
                        break;
                    case 1:
                        listView1.Sorting =  SortOrder.Ascending;
                        break;
                    case 2:
                        listView1.Sorting = SortOrder.Descending;
                        break;
                }
            }
    }
      

  3.   

    代码打包 我测试了 能运行
    百度网盘地址:http://pan.baidu.com/s/19YNHw
      

  4.   

    代码打包 我测试了 能运行
    百度网盘地址:http://pan.baidu.com/s/19YNHw
    xp系统会出现上面的问题,win7是正常的
      

  5.   

    刚发动了群友测试你的问题。发现在win7、win8系统正常显示,而在xp、2003会出现你这样的问题。
      

  6.   

    通过设置控件大图标LargeImageList,可以绕开此问题。这只是治标不治本。this.listView1.LargeImageList = this.largeImageList;