我如何获得列自动大小功能与ListView工作,使用Visual Studio和c# Win Forms

本文关键字:Visual 使用 工作 Studio Forms Win ListView 何获得 功能 | 更新日期: 2023-09-27 18:11:35

我有一个WinForm,我使用Visual Studio 2013 Express for Windows Desktop在c#中创建。

在主窗体上,我有一个ListView控件,我通过VS属性窗口添加了3列,我希望用户能够在闲暇时调整窗体的大小,只要它们不超过所有3列加在一起的宽度,这就很好,一旦发生这种情况,一个没有标题文本的空第四列就会出现,只要你不断调整大小就会继续增长。我最终有4列,其中我没有创建最后一个,因为我相信你已经想到现在的列表视图是锚定的,所以它会在表单调整大小时展开。我想要的列表视图展开,但我不想要的第四列,有没有一种方法,允许列之一调整自己的大小/自动填充当表单调整大小?

我如何获得列自动大小功能与ListView工作,使用Visual Studio和c# Win Forms

您可以在ListView_Resize事件中这样做。

int ColumnIndex = 3; //assign the column index which you want to set autosize
int iWidth = 0; 
for ( int i = 0 ; i < ListView1.Columns.Count ; i++ )
{
    if (ColumnIndex == i)  
        continue;
    iWidth += ListView1.Columns[i].Width;  //Calculating all column width
}
ListView1.Columns[ColumnIndex].Width = ListView1.Width - iWidth;