using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WMS.Untils { public class FormHelper { /// /// 自适应宽度 /// /// public static void DataGridViewSelfAdaptionWidth(DataGridView dgView) { int width = 0; //对于DataGridView的每一个列都调整 for (int i = 0; i < dgView.Columns.Count; i++) { //将每一列都调整为自动适应模式 dgView.AutoResizeColumn(i, DataGridViewAutoSizeColumnMode.AllCells); //记录整个DataGridView的宽度 width += dgView.Columns[i].Width; } //判断调整后的宽度与原来设定的宽度的关系,如果是调整后的宽度大于原来设定的宽度, //则将DataGridView的列自动调整模式设置为显示的列即可, //如果是小于原来设定的宽度,将模式改为填充。 if (width > dgView.Size.Width) { dgView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells; } else { dgView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; } //冻结某列 从左开始 0,1,2 //dgViewPersons.Columns[1].Frozen = true; } } }