|
分類:[C#]
お世話になっております。
環境:C# 2005 VisualStadio
datagridviewのセル単位でのcellstyleの変更をしようとしていまして、
以下のようなコードを打ち込んだのですが、
//toolStripComboBox2.Textには"MS Pゴシック"等の文字列が入っています
//toolStripComboBox1.Textには"9"等の数字(string型)が入っています
//フォント体の変更
dataGridView1[0, 0].Style.Font = new Font(toolStripComboBox2.Text, dataGridView1[0, 0].Style.Font.Size);
//フォントサイズの変更
dataGridView1[0, 0].Style.Font = new Font(dataGridView1[0, 0].Style.Font.Name,
int.Parse(toolStripComboBox1.Text));
dataGridView1[0, 0].Style.Font.SizeとdataGridView1[0, 0].Style.Font.Nameで、null例外が発生します。
なので、Form_loadのイベントでCellStyleを設定すればいいのかなと思い、
dataGridView1.DefaultCellStyle.Font = new Font("MS Pゴシック", 9, FontStyle.Regular);
や
dataGridView1.Font = new Font("MS Pゴシック", 9, FontStyle.Regular);
等、色々調べては試しているのですが、ずっとnullのままです。
フォントサイズの変更だけなら、dataGridView1[0, 0].Style.Font.Name部分をdataGridView1.Font.Name
に書き換えれば、フォントサイズは変更できますが、フォント体が元の設定に戻ってしまいます。
私がやりたい事は、そのセルに設定したフォント体やフォントサイズを保ったまま変更を行っていきたいのです。
最初に、
dataGridView1[0, 0].Style.Font = new Font(toolStripComboBox2.Text, dataGridView1.Font.Size);
を実行すれば、
dataGridView1[0, 0].Style.Font.Nameに"MS Pゴシック"が設定されているので、
dataGridView1[0, 0].Style.Font = new Font(dataGridView1[0, 0].Style.Font.Name,
int.Parse(toolStripComboBox1.Text));
でフォント体の状態を保ったまま、フォントサイズの変更が可能ですが、これではフォント体を変更する時、
サイズが元に戻ってしまうので、ダメなのです。
簡潔に言うと、null例外が出るので、セル単位での初期の状態を設定したいのですが、やり方がわかりません。
どうすれば、値が設定できるのか教えて下さい。
宜しくお願い致します。
|