c#ListView控件怎么设置列宽百分比啊,谢谢

listView1.Columns[0].Width = 20%;
listView1.Columns[0].Width = 20% * Width;

这2种写法都不对 ,应该怎么写,谢谢

假设有3列,权重分别为1.0,2.0,1.0,即第一列占25%,第二列占50%,第三列占25%。

float totalColumnWidth = 4.0;  //1.0+2.0+1.0 = 4.0

//设置第一列所占百分比
  float colPercentage0 = 1 / totalColumnWidth;
  listView.Columns[0].Width = (int)(colPercentage0 * listView.ClientRectangle.Width);           

//设置第二列所占百分比
  float colPercentage1 = 2 / totalColumnWidth;
  listView.Columns[1].Width = (int)(colPercentage1 * listView.ClientRectangle.Width);   

//设置第三列所占百分比
  float colPercentage2 = 1 / totalColumnWidth;
  listView.Columns[2].Width = (int)(colPercentage2 * listView.ClientRectangle.Width);   

说明:

  • 上述代码中 listView.ClientRectangle.Width 为列表listview所占客户区域宽度。
  • 以3列为例,思路是可行的,可以此为参考修改。

listView1.Columns[0].Width = 20% * This.listView1.Width;