我有一个C#ListView,我想根据列的内容自动调整列宽的大小。
我知道将列宽设置为-1将使列的大小与最宽成员的长度相同。我知道将列宽设置为-2将使列的大小与列标题的长度相同。如何将列的大小设置为两者中的较大者?
我可以做这样的事情:
for (int i = 0; i < listView.Columns.Count; ++i)
{
listView.Columns[i].Width = -1;
int width1 = listView.Columns[i].Width;
listView.Columns[i].Width = -2;
if (width1 > listView.Columns[i].Width)
listView.Columns[i].Width = -1;
}
Run Code Online (Sandbox Code Playgroud)
但是它确实效率极低。
有人有答案吗?
你应该试试
ListView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
Run Code Online (Sandbox Code Playgroud)
即使显示“ ColumnHeaderAutoResizeStyle.HeaderSize”,它也应自动调整为列中最大的项目的大小,无论是标题还是列成员
| 归档时间: |
|
| 查看次数: |
2678 次 |
| 最近记录: |