[屁大点事也写博客] 关于winform里ListView Columns 和 SubItems的两点注意

1.ListView.Items.SubItems属性中,默认是有一个项的。更改view.Text和view.SubItems[0].Text都可以改变这玩意的值,也可以在Item构造的时候传字符串来设置。在Add的时候也是往这个后面加的

private void Form1_Load(object sender, EventArgs e)
{
    ListViewItem item = new ListViewItem();
    for (int i = 0; i < 5; ++i)
    {
        char c = (char)('a' + i);
        item.SubItems.Add(c.ToString());
    }
    listView1.Items.Add(item);
}

会成这样:
在这里插入图片描述
如果想要顺序加入,需要:

private void Form1_Load(object sender, EventArgs e)
{
    ListViewItem item = new ListViewItem();
    for (int i = 0; i < 5; ++i)
    {
        char c = (char)('a' + i);
        if (i == 0)
            item.Text = c.ToString();
        else
            item.SubItems.Add(c.ToString());
    }
    listView1.Items.Add(item);
}

2.ListView的Columns日式有两个顺序,一个是显示顺序,一个是在Columns里面的顺序
比如显示顺序是A B C 但是在Columns理面的顺序不是A B C就会很乱…而且这个是在控件编辑器里改的…
比如列的属性如下:
在这里插入图片描述

12345的displayIndex就是01234,再次运行上面的代码,结果:
在这里插入图片描述
预览里头和实际显示的不一样了…之前由此在vs2010上是预览和实际显示的一样,但是添加元素的时候会按Columns里的顺徐进行对应…总之依据"高手总是离坑远远的"原则 ,始终保持两个index一致就好


版权声明:本文为weixin_42694709原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。