【问题标题】:C# listview optimum column widthC# listview 最佳列宽
【发布时间】:2013-06-14 13:21:39
【问题描述】:

我有一个 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;
}

但它确实看起来非常低效。

有人有答案吗?

【问题讨论】:

  • 您可以将标题内容添加为列表视图项,将其设置为-1,然后删除标题元素。不确定它是否会起作用,无论如何你的想法可能更有效。

标签: c# listview


【解决方案1】:

你应该试试

ListView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);

即使它说“ColumnHeaderAutoResizeStyle.HeaderSize”,它也应该自动调整到列中最大的项目,无论是标题还是列成员

【讨论】:

  • 它似乎可以工作,但是最后一列之后的垂直线被删除了。不能接受的。至少对我来说不是。
猜你喜欢
  • 2016-04-27
  • 2010-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-29
  • 1970-01-01
  • 1970-01-01
  • 2011-05-26
相关资源
最近更新 更多