如何在ListView中按比例拉伸列及其标题

时间:2017-07-14 13:39:26

标签: c# winforms listview listviewitem

让我们说我创建了一些这样的标题:

 this.grdUsers.Columns.Add("id");
   this.grdUsers.Columns.Add("username");
   this.grdUsers.Columns.Add("phone");
   this.grdUsers.Columns.Add("address");

以后我在列表视图中添加一个项目,如下所示:

  ListViewItem parent;
      parent = this.grdUsers.Items.Add(user.id);
      parent.SubItems.Add(user.username);
      parent.SubItems.Add(user.phone);
      parent.SubItems.Add(user.address);

 I will end up with something like this:

enter image description here

但我实际上是想实现这个目标:

enter image description here

经过一些阅读后我发现了HorizontalContentAlignment,但我无法在ListViewItem找到它...我在这里遗漏了一些明显的东西?我正在使用WinForm申请。

1 个答案:

答案 0 :(得分:0)

我最终得到了这个:

 private void ResizeUserListHeaders()
 {
    var listViewWidth = this.grdUsers.ClientRectangle.Width;

    var headerWidth = listViewWidth / this.grdUsers.Columns.Count;

    foreach (ColumnHeader header in this.grdUsers.Columns)
    {

          header.Width = headerWidth;
    }
}

然后在表单的ResizeEnd操作:

 private void ResizeEndAction(object sender, EventArgs e)
 {
    this.ResizeUserListHeaders();
 }