ListView列标题液体大小?

时间:2010-08-31 22:06:04

标签: c# winforms listview

我有一个WinForm应用程序,其中包含一个列表视图。我希望能够做的是每当窗口变大或变小时,最右边的列调整大小(宽度)。这可能吗?如果是这样,它由哪个属性控制?

1 个答案:

答案 0 :(得分:0)

ListView有一个Columns属性,它是一个包含列的集合,每个列都有一个Width属性:

var widthOfLastColumn = listView.Columns[ listView.Columns.Count - 1 ].Width;

listView.Columns[ listView.Columns.Count - 1 ].Width = newWidth;

为了保持最后一列的宽度以使其填充列表视图的其余部分,您可以在表单的Resize事件中添加以下内容:

var width = 0;
for (int i = 0; i < listView.Columns.Count - 1; i++)
    width += listView.Columns[i].Width;

listView.Columns[ listView.Columns.Count - 1 ].Width =
    listView.ClientSize.Width - width;

如果列之间有填充,您可能需要减去一点以避免水平滚动条 - 我没有测试它。