C# DataGridVew 列自适应宽度

博客介绍了使用DataGridView控件显示数据时,设置列大小自适应能让外观更舒适。为方便使用,将调整自适应的代码封装成方法放在Model类中,需要时直接调用即可。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用DataGridView控件来显示数据的时候,如果没有设置列大小自适应,那么出现的情况就是下面:

如果设置了列大小自适应,结果就会变为:

 

这样,从外观上看起来会舒服很多。 

如何实现?

 

因为调整自适应在一个程序中会经常用到,所以我把它的代码封装成了一个方法,放在了Model类中,哪里需要直接调用就OK。

Model类中:

 

public void AutoSizeColumn(DataGridView DGVFiles)
        {
            int width = 0;
            //使列自适应宽度
            //对于每一列都调整
            for (int i = 0; i < DGVFiles.Columns.Count; i++)
            {
                //将每一列都调整为自动适应模式
                DGVFiles.AutoResizeColumn(i, DataGridViewAutoSizeColumnMode.AllCells);
                //记录整个的宽度
                width += DGVFiles.Columns[i].Width;
            }
            //判断调整后的宽度与原来设定的宽度的关系,如果是调整后的宽度大于原来设定的宽度
            //则将每列都自动调整模式设置为显示的列即可
            //如果是小于原来设定的宽度,将模式改为填充
            if (width > DGVFiles.Size.Width)
            {
                DGVFiles.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;
            }
            else
            {
                DGVFiles.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
            }
            //冻结某列从左开始
            DGVFiles.Columns[1].Frozen = true;
        }

调用: 

Model model = new Model();
                model.AutoSizeColumn(UserInfoDGV);

 

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值