【问题标题】:Windows Form listview minimum column widthWindows 窗体列表视图最小列宽
【发布时间】:2013-01-09 00:50:37
【问题描述】:

我的应用程序看起来好像将宽度停止在 50,但如果将鼠标拖得更远然后放开,宽度将低于:

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

如果changed width = &lt; 50,我无法弄清楚如何将ColumnWidthChanged 的宽度强制为50。我不需要固定列宽,因为信息的长度会有所不同,但会强制设置最小宽度。

有什么建议吗?

【问题讨论】:

    标签: c# winforms listview


    【解决方案1】:

    如果您想在用户完成拖动列分隔符之后更改宽度,您可以这样做

    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;
         }
    }
    

    【讨论】:

      【解决方案2】:

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

      betterListView.Columns[0].MinimumWidth = 50;
      

      还有MaximumWidthAllowResize

      【讨论】:

        猜你喜欢
        • 2011-01-28
        • 1970-01-01
        • 2014-03-23
        • 1970-01-01
        • 2020-08-08
        • 1970-01-01
        • 1970-01-01
        • 2014-11-14
        • 2021-05-01
        相关资源
        最近更新 更多