- - PR -
DataGridViewの指定した行のフォントを変更したい
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-08-19 16:01
VB2005で開発しています。
DataGridViewで指定した行の文字サイズや太さを変更したいと思っています。 以下のように記述すれば、文字サイズや太さを変更できるということが わかりました。 Me.DataGridView1.Rows(1).DefaultCellStyle.Font = New Font("MS ゴシック", 9, FontStyle.Bold) ただこの記述ですと、規定のフォントがMS ゴシックと決まっていないと使用できず とても不便に感じております。 現在の指定された行のフォントを取得して、 それを元に文字サイズと太さを変更したいのですが、 どのように設定したら良いでしょうか? もしよろしければ教えて頂けませんか? よろしくお願い致します。 | ||||||||
|
投稿日時: 2008-08-19 16:34
そのままコード化してみました。
| ||||||||
|
投稿日時: 2008-08-19 16:55
ご回答ありがとうございます。
ご教示頂いたサンプルコードを、実行してみたところ、 以下の例外が発生してしまいました。 (新しいプロジェクトでDataGridViewとButtonをフォームに貼り付けて、 Buttonのクリックイベントにサンプルコードを記述しています。) NullReferenceException はハンドルされませんでした。 オブジェクト参照がオブジェクト インスタンスに設定されていません。 ウォッチで確認するとMe.DataGridView1.Rows(0).DefaultCellStyle.FontがNULLになっています。 これが原因だと思うのですが、 どのようにして解決したら良いのでしょうか? ぜひよろしくお願い致します。 | ||||||||
|
投稿日時: 2008-08-19 17:21
現在の指定された行のフォントが元より未指定の為ですね。
RowTemplateプロパティ内のDefaultCellStyleプロパティに 規定のFontを設定しておくことで、Null参照にはならないと思います。 [修正] プロパティ名が違っていたので修正 [ メッセージ編集済み 編集者: くまっち 編集日時 2008-08-19 17:30 ] | ||||||||
|
投稿日時: 2008-08-19 18:10
ありがとうございます。
無事うまくできました。 AllowUserToAddRowsプロパティをTrueに設定しているのですが この場合はRows(0)にRowTemplateのDefaultCellStyleが反映されないようでした。 Rows(1)以降はうまく設定されています。 Form1_Loadに以下のロジックを記述することで対応しました。 Me.DataGridView1.Rows(0).DefaultCellStyle.Font = _ Me.DataGridView1.RowTemplate.DefaultCellStyle.Font 詳しくご説明頂きありがとうございました。 |
1