tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルDataGridViewの高さ
記事No7212
投稿日: 2008/03/19(Wed) 07:22
投稿者ダンボ
DataGridViewひとつとStatusBarひとつを上下に配置したUserControlを作りました。
DataGridViewの縦スクロールバーが出ないような必要十分なUserControl.Hightを
調べるために下記のようなメソッドで試行錯誤した結果、ぴったりできたみたいですが
この6はどこの部分の高さでしょうか?またそれを示すプロパティは?

Public Function FitHight() As Integer
    FitHight = 6 + STATUSBAR.Height + GRID.ColumnHeadersHeight + GRID.RowTemplate.Height * GRID.Rows.Count
End Function

[ツリー表示へ]
タイトルRe: DataGridViewの高さ
記事No7213
投稿日: 2008/03/19(Wed) 07:47
投稿者花ちゃん
> この6はどこの部分の高さでしょうか?またそれを示すプロパティは?

SystemInformation.BorderSize プロパティ の値ではないでしょうか?
(コントロールがフラットスタイルなら)

SystemInformation メンバ をご覧になると、その他色んな所のサイズが取得できます。

[ツリー表示へ]
タイトル[終了] DataGridViewの高さ
記事No7216
投稿日: 2008/03/19(Wed) 12:06
投稿者ダンボ
花ちゃん さん、どうも有り難うございます。

> SystemInformation.BorderSize プロパティ の値ではないでしょうか?

各コントロールのスタイルを見直し、FitHeightを呼出す方の処理も変えてみたところ
下記の計算式でピッタリ表示されるようになってしまったので、原因追求は中止します。
(どうも利用する方の解釈がおかしかったのではという疑いあり)

Public Function FitHeight() As Integer
    FitHeight = STATUSBAR.Height + GRID.RowTemplate.Height * GRID.Rows.Count
End Function

SystemInformationクラスはあまり使ったことが無いのですが他で必要になりそうです。

[ツリー表示へ]