2012-03-15 6 views
0

画面のサイズに応じて行を自動的にサイズ変更する必要があります。 私は列のためにこれを行うと、それは実際に動作する:行を自動サイズ変更する方法

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

しかし、私は、行のために同じことをやりたいです。私は塗りつぶしのオプションがありません。

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

がどのように私は私の行がそれの大きさに応じて、私の画面を埋めるために作ることができるように は私しかいませんの?

答えて

0

AutoResizeRowメソッドを使用できます。 MSDNパー

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

MSDNサンプルhereもあります。

あなたはHeightという名前RowTemplateプロパティに見てみたいことがあります。

あなたはこのようなForm_ResizeEndとして、サイズ変更イベントでこれを置くことができます:あなたは、画面サイズが

EDITを変更したときに、あなたのよう計算を行うことができます。グリッドが多数の行でどのように動作するかについての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を使用することができると信じています。どのようなサイズを維持したいのかは、あなた次第です。

+0

ありがとうございます。しかし、どのようにこれを塗りつぶしモードを使用するように構成できますか?だから私の画面を埋めることができますか? –

+0

@denonth:小さな編集をしました。希望が役立ちます。 –

+0

申し訳ありませんあなたの英語を理解できません。おそらく、あなたは何をしたいのスクリーンショットを投稿することができますか? –

関連する問題