代码之家  ›  专栏  ›  技术社区  ›  Wildhorn

C#ListView第一列太大

  •  1
  • Wildhorn  · 技术社区  · 14 年前

    我有这个:

    lvPalette.Columns.Add("Code", -2, HorizontalAlignment.Center);
    lvPalette.Columns.Add("Attendu", -2, HorizontalAlignment.Center);
    lvPalette.Columns.Add("Chargé", -2, HorizontalAlignment.Center);
    lvPalette.Columns.Add("Validé", -2, HorizontalAlignment.Center);
    lvPalette.Columns.Add("Description", -2, HorizontalAlignment.Center);
    

    我试图将第一列widt设置为100,但是第二列占用了控件宽度的所有空间。

    所以问题是,我怎样才能阻止它这样做呢?

    4 回复  |  直到 14 年前
        1
  •  2
  •   bluish dmajkic    12 年前

    根据您的观察和我对第一列应用的大小调整的经验,我首先添加了一个一次性列,然后在添加第二列时将其删除。第二列是要保留的列。然后我删除了第一列,并添加了其余的有效列。你知道吗,尺码很好!

    if (!pastTossOutCol) {
        listView1.Columns.RemoveAt( 0 );
        pastTossOutCol = true;
    }
    

    也许它能帮助那些花了好几个小时努力让它工作的人。

        2
  •  0
  •   TLiebe    14 年前

    试着打电话给 AutoResize

        3
  •  0
  •   Wildhorn    14 年前

    我想我知道它为什么这么做了。似乎将width设置为-2会强制标头占用整个可用的控件宽度空间。因此,当添加第一列时,它是唯一存在的列,因此它占用整个控制空间,然后添加其他列并将其设置为正确的大小。

        4
  •  0
  •   Wildhorn    14 年前