6

我的应用程序看起来像将宽度停止在 50,但如果将鼠标进一步拖动然后放开,宽度将低于:

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

ColumnWidthChanged如果changed width = < 50. _ 我不需要固定列宽,因为信息的长度会有所不同,但会强制设置最小宽度。

有什么建议么?

4

2 回答 2

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;
     }
}
于 2013-01-09T01:15:19.540 回答
0

Better ListViewBetter ListView Express(免费)组件在列标题上有一些有用的属性:

betterListView.Columns[0].MinimumWidth = 50;

还有MaximumWidthAllowResize

于 2013-02-16T15:47:34.323 回答