- ベストアンサー
VB2005-DataGridView 起動時セルが必ず選択される
VB2005を勉強しているものです。毎度お世話になりありがとうございます。 今回ですが、DataGridViewを使用したプログラムで、起動時は必ず一番上のセルが選択され、DataGridView1_SelectionChangedイベントが動いてしまい、都合悪いのです。選択されない方法はありませんか また選択されたセルの色が青になりますが、色の変更はできますか ご教授願います。よろしくお願いいたします。
- みんなの回答 (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)
- fumufumu_2006
- ベストアンサー率66% (163/245)
表示されれば選択は必ずされると思うので、イベントを起こさないのは難しいと思います。 たとえばDataGridView1_SelectionChangedの先頭に、 If DataGridView1.Tag Is Nothing Then DataGridView1.Tag = 1 Exit Sub として、1回目はキャンセルするとか・・・ 選択を表示したくないなら、 DataGridView1.CurrentCell = Nothing とか(イベントは起こりますが)・・・ 選択されたセルの色は、DefaultCellStyleのSelectionBackColorで、デザイン時でもプログラム中でも変更できると思います。
補足
お世話になっております。いつもありがとうございます。 教えていただいたソースですが、 If DataGridView1.Tag Is Nothing Then・・・はなぜかできなくて、一回目のイベントをキャンセルできませんでした。 DataGridView1.DefaultCellStyle.SelectionBackColor = Color.Empty DataGridView1.DefaultCellStyle.SelectionForeColor = Color.Empty はできませんでした。 DataGridView1_SelectionChangedイベントDataGridView1.CurrentCell = Nothingはできました。 お願いいたします。