我有一个WinForm应用程序,其中包含一个列表视图。我希望能够在窗口变大或变小时调整最右侧列的宽度。这是否可能?如果是,它由哪个属性控制?
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;
如果在列之间有填充,则您可能需要减去更多的值以避免水平滚动条 - 我没有测试过。