0

画面サイズに応じて行のサイズを自動変更したい。私がコラムのためにこれをするとき、それは本当に働きます:

grid.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;

しかし、私が列に対して同じことをしたいとき。塗りつぶしオプションがありません。私は好きなだけ

grid.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.AllCells;

サイズに応じて、画面全体に行を表示するにはどうすればよいですか?

4

1 に答える 1

0

この方法を使用できますAutoResizeRow

MSDNによる:

このメソッドは、行のサイズを変更するタイミングを制御する場合に役立ちます。行の高さは、メソッド呼び出しごとに1回だけ調整されます。行の内容が後で変更された場合、行は自動的に調整されません。すべての行のサイズを変更するには、AutoResizeRowsメソッドを使用します。内容が変更されるたびに行のサイズが自動的に変更されるように行を設定するには、AutoSizeRowsMo​​deプロパティを使用します。

ここにはMSDNサンプルもあります。

RowTemplate。という名前のプロパティを調べることをお勧めしますHeight。画面サイズがいつ変わるかを計算できます

編集:

これは、などのサイズ変更イベントに入れることができますForm_ResizeEnd。グリッドが多数の行でどのように機能するかについてのYMMV。

foreach (DataGridViewRow row in dataGridView1.Rows)
{
    row.Height = 22; //your calculation based on the screen height
}

特にプライマリ画面の高さが必要な場合はSystem.Windows.Form.Screens、クラスを使用できると思います。Screens.PrimaryScreen.Bounds.Heightどのようなサイズを維持したいかはあなた次第です。

于 2012-03-15T19:46:28.277 に答える