我有一个 WinForm 应用程序,其中有一个 ListView 。我想要做的是在窗口变大或变小时调整最右边的列大小(宽度)。这可能吗?如果是这样,它由哪个属性(property)控制?
最佳答案
ListView
有一个 Columns
属性,它是一个包含列的集合,每个列都有一个 Width
属性:
var widthOfLastColumn = listView.Columns[ listView.Columns.Count - 1 ].Width;
listView.Columns[ listView.Columns.Count - 1 ].Width = newWidth;
为了保持最后一列的宽度以填充 ListView 的其余部分,您可以在表单的 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;
如果列之间有填充,您可能需要再减去一点以避免水平滚动条——我没有测试它。
关于c# - ListView 列标题液体大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3613574/