Windows窗体列表视图最小列宽

egg*_*ggy 6 c# listview winforms

我有应用程序看起来它停止宽度为50,但如果鼠标被进一步拖动然后放松,宽度将低于:

private void ListView1_ColumnWidthChanging(object sender, ColumnWidthChangingEventArgs e)
{
    if (e.ColumnIndex ==0 & e.NewWidth <50)
    {
        e.Cancel = true;
    }
}
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚ColumnWidthChanged如果将宽度强制为50 changed width = < 50.我不需要修改列宽,因为信息的长度会有所不同,但会强制使用最小宽度.

有什么建议?

小智 5

如果要在用户拖动列分隔符更改宽度,可以执行此操作

private const int _minimumColumnWidth = 50;

private void ListView1_ColumnWidthChanged(object sender, ColumnWidthChangedEventArgs e)
{
     if (ListView1.Columns[e.ColumnIndex].Width < _minimumColumnWidth)
     {
          ListView1.Columns[e.ColumnIndex].Width = _minimumColumnWidth;
     }
}
Run Code Online (Sandbox Code Playgroud)