zoukankan      html  css  js  c++  java
  • c# listView中列宽随列中的内容自动调整

    1、创建一个类 ListViewAutoChange  作用:自动调整ListView的列宽

    代码如下:(内容很容易理解,没加注释)

    using System;
    using System.Collections.Generic;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
     
    namespace XmlResolve
    {
        class ListViewChange
        {
            //自动调整ListView的列宽的方法
            public void AutoResizeColumnWidth(ListView lv)
            {
                int count = lv.Columns.Count;
                int MaxWidth = 0;
                Graphics graphics = lv.CreateGraphics();
                int width;
                lv.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
                for (int i = 0; i < count; i++)
                {
                    string str = lv.Columns[i].Text;
                    MaxWidth = lv.Columns[i].Width;
     
                    foreach (ListViewItem item in lv.Items)
                    {
                        str = item.SubItems[i].Text;
                        width = (int)graphics.MeasureString(str, lv.Font).Width;
                        if (width > MaxWidth)
                        {
                            MaxWidth = width;
                        }
                    }
                    if (MaxWidth <= 150)
                    {
                        lv.Columns[i].Width = MaxWidth;
                    }
                    else
                    {
                        lv.Columns[i].Width = 150;
                    }
                }
            }
        }
    }

    2、主窗体中调用即可实现
  • 相关阅读:
    使用EFCore连接现有数据库
    C#面试题总结
    xamarin学习--发布apk安装包
    xamarin学习--导航参数注意事项
    centos8 安装 gitlab
    mvc添加全局过滤器
    Windows平台查看端口占用情况
    asp.net core cli---创建一个不启用https的项目
    asp.net core cli
    启动nuxt项目报错WARN node unsupported "node@v8.9.3" is incompatible with chalk@^4.1.0, expec...
  • 原文地址:https://www.cnblogs.com/wxfsoft/p/3434242.html
Copyright © 2011-2022 走看看