如何在c#windows窗体中修复listview的列宽?

zoy*_*oya 2 c# listview fixed width

我有一个listview我需要修复listview的列宽,以便在运行时用户无法拖动列表并调整大小.....程序是什么?我搜索了所有的属性,但没有一个帮助我解决这个pbm ..这在gridview中是可能的但是如何在listview中实现....

Zen*_*nya 14

最简单的方法是使用ColumnWidthChanging事件:

private void listView_ColumnWidthChanging(object sender, ColumnWidthChangingEventArgs e)
{
    e.Cancel = true;
    e.NewWidth = listView.Columns[e.ColumnIndex].Width;
}
Run Code Online (Sandbox Code Playgroud)

  • 这是为什么使用ListView这么难的另一个例子 - 很难让一切正常.此代码不会捕获通过键盘调整列大小的尝试,最值得注意的是Ctrl-Numpad- +.即使使用此事件处理程序,这也会将所有列调整为最小计算宽度.调整大小后,用户将无法再将其重新调整. (3认同)