强制调整DataGridView列的大小

And*_*One 6 c# winforms

我有一个带有DataGridView元素的简单表单.在构造函数中,添加了网格列并设置了DataTable.当我然后调用AutoResizeColumns()时,它不会像通过例如按钮事件调用那样调整列的大小.代码看起来像这样(简化):

public MyDialog()
{
   InitializeComponent();
   dgv.Columns.AddRange(SomeClass.MyColumns);
   dgv.DataSource = SomeClass.Table;
   // This doesn't work:
   dgv.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
}
Run Code Online (Sandbox Code Playgroud)

AutoResizeColumns()通常可以工作但不是那时.顺便说一句,我需要这个来实现像这里请求/描述的行为.有任何想法吗?

And*_*mer 13

在设置自动调整模式之前,我遇到了同样的问题:

dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
Run Code Online (Sandbox Code Playgroud)

  • 你能加上`dgv.`和一个分号吗? (2认同)

DRa*_*app 8

另外,我认为在调整大小之前对象需要是可见的...出于某种原因,绘画似乎并不像人们期望的那样发生.