5

仮想モードで DataGridView を使用した winform アプリケーションを使用していますが、すべてうまく機能しています。唯一の問題は、列の区切りをダブルクリックすると、コントロールが表示または可視だけでなく、すべてのセルに列幅を合わせようとすることです! そして明らかに、それはアプリをハングさせます。

私はあらゆる種類の構成を試しました

AutoSizeMode = DataGridViewAutoSizeColumnMode.None;
AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCellsExceptHeader;
AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader;

すべて!、データグリッドと各列の設定! そして何も機能しません

何か案が?

最終結果は次のとおりです。ユーザーは列のサイズを変更できますが、列の境界線をダブルクリックすることはできません!.. まったく収まらないかどうかは気にしません。

4

1 に答える 1

6

ColumnDividerDoubleClick を次のように処理する必要があります。

private void datagridview_ColumnDividerDoubleClick(object sender, DataGridViewColumnDividerDoubleClickEventArgs e)
{
  if (e.Button == MouseButtons.Left)
  {
    datagridview.AutoResizeColumn(e.ColumnIndex, DataGridViewAutoSizeColumnMode.DisplayedCells);
  }
  e.Handled = true;
}
于 2014-08-01T11:56:18.063 に答える