机房合作—DataGridView列自适应宽度

原文链接: https://www.cnblogs.com/51net/p/4350867.html

 定义一个方法:

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

调用这个方法:(dataBill是表格名字)

//调用调整列宽的方法
            AutoSizeColumn(dataBill);

如果没有见效,可以手动拖一下表格到合适的地方,之后就会开始自适应。

你可能感兴趣的:(C#,机房合作)