我在程序中需要用到ListView,我给listview控件选用是大图标的方式,然后将item添加到ListView中
listview1.Items.Add(strKey,strText,strIndex)
//strKey,strText通过循环获取得到
现在的问题是如果strText字数多的话没有办法全部显示,只有选中的时候才能全部显示,所以想请教各位需要设置什么属性还是需要些什么代码来实现啊

解决方案 »

  1.   

    试一下lv.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
      

  2.   

    上面的方法有时列头会变形,可以自己控制: int count = lv.Columns.Count;
                int MaxWidth = 0;
                Graphics graphics = lv.CreateGraphics();
                Font font = lv.Font;
                ListView.ListViewItemCollection items = lv.Items;            string str;
                int width;            lv.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);            for (int i = 0; i < count; i++)
                {
                    str = lv.Columns[i].Text;
                    MaxWidth = lv.Columns[i].Width;                foreach (ListViewItem item in items)
                    {
                        str = item.SubItems[i].Text;
                        width = (int)graphics.MeasureString(str, font).Width;
                        if (width > MaxWidth)
                        {
                            MaxWidth = width;
                        }
                    }
                    lv.Columns[i].Width = MaxWidth;
                }   
      

  3.   

    to Beatles_The:
    我是按Item添加的,AutoResizeColumns是设置列的宽度的,我这里是没有用的
      

  4.   

    我已经解决了,原来可以设置ListView的View属性。
    谢谢各位