• ベストアンサー

VB2005-DataGridView 起動時セルが必ず選択される

VB2005を勉強しているものです。毎度お世話になりありがとうございます。 今回ですが、DataGridViewを使用したプログラムで、起動時は必ず一番上のセルが選択され、DataGridView1_SelectionChangedイベントが動いてしまい、都合悪いのです。選択されない方法はありませんか また選択されたセルの色が青になりますが、色の変更はできますか ご教授願います。よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

Private Sub DataGridView1_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGridView1.SelectionChanged If DataGridView1.Tag Is Nothing Then DataGridView1.CurrentCell = Nothing '(1) DataGridView1.Tag = 1 '(2) Exit Sub End If '2回目以降のイベント処理 MsgBox("SelectionChanged") End Sub ではどうでしょうか? ちなみに(1)と(2)が逆ではだめです。

その他の回答 (1)

回答No.1

表示されれば選択は必ずされると思うので、イベントを起こさないのは難しいと思います。 たとえばDataGridView1_SelectionChangedの先頭に、 If DataGridView1.Tag Is Nothing Then DataGridView1.Tag = 1 Exit Sub として、1回目はキャンセルするとか・・・ 選択を表示したくないなら、 DataGridView1.CurrentCell = Nothing とか(イベントは起こりますが)・・・ 選択されたセルの色は、DefaultCellStyleのSelectionBackColorで、デザイン時でもプログラム中でも変更できると思います。

noname#147912
質問者

補足

お世話になっております。いつもありがとうございます。 教えていただいたソースですが、 If DataGridView1.Tag Is Nothing Then・・・はなぜかできなくて、一回目のイベントをキャンセルできませんでした。 DataGridView1.DefaultCellStyle.SelectionBackColor = Color.Empty DataGridView1.DefaultCellStyle.SelectionForeColor = Color.Empty はできませんでした。 DataGridView1_SelectionChangedイベントDataGridView1.CurrentCell = Nothingはできました。 お願いいたします。