c# - ListView 列标题液体大小?

标签 c# winforms listview

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

相关文章:

c# - 如何在运行时指定 [DllImport] 路径?

c# - 使用相同的接口(interface)调用多个类

c# - 如何开始使用 Windows Phone SDK 8.1?

android - Android onResume后ListView为空

android - Listview/ExpandableListView 调用notifyDataSetChanged时图片内容闪烁

c# - 在其一侧显示 SelectedItem 详细信息

c# - 直线(分段拟合)图表是什么意思?如何在MS图表中实现?

c# - 如何以编程方式为所有控件设置 ErrorProvider Icon

c# - 组合框 SelectedItem 无法正常工作

android - 在 Android ListView 中编辑项目