基于列内容和标题的 ListView AutoResizeColumns [英] ListView AutoResizeColumns based on both Column content and header
问题描述
我们使用这两种方法根据列内容和标题分别调整列长.
we use this two methods to adjust column length based on Column content and header resp.
ListView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);ListView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
ListView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); ListView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
但是如何根据两者进行调整?即调整到标题和列内容的最长长度.
But how to adjust based on both? i.e. adjust to the longest length for header and column content.
推荐答案
lvw.Columns[0].Width = -2
详情见MSDN备注:http://msdn.microsoft.com/en-us/library/system.windows.forms.columnheader.width.aspx
另请注意,MSDN 说要自动调整到列标题的宽度,请将 Width 属性设置为 -2.",但实际上它适用于列标题和列内容.
Also note that MSDN says that 'To autosize to the width of the column heading, set the Width property to -2.', but actually it works for column heading AND column contents.
这里有一个代码来证明:
Here is a code to prove that:
lvw.Columns.Add(new String('x', 25)); // short header
lvw.Items.Add(new String('x', 100)); // long content
lvw.Columns[0].Width = -2;
// in result column width will be set to fit content
这篇关于基于列内容和标题的 ListView AutoResizeColumns的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!