VB.NET DataGridView の ComboBoxColumn にフォーカスが当たったらすぐにリストを表示する

DataGridView の ComboBoxColumn は、フォーカスが当たってもリストがすぐには表示されず、3回ほどクリックしないとリストが出てこない。
フォーカスが当たったら即座にリストを表示する必要があったので、やり方をメモ。
DataGridView の CellEnter イベントを補足することによって実現する。
フォーカスが当たったセルの種類(必要なら名前も)で判断し、該当したら F4 キーを送信するというやり方。


Private Sub SampleDataGridView_CellEnter(sender As Object, e As DataGridViewCellEventArgs) Handles SampleDataGridView.CellEnter
  Dim dgv As DataGridView = CType(sender, DataGridView)
  Dim columnIndex As Integer = e.ColumnIndex
  
  'コンボボックスは即座にリストを表示する
  If dgv.Columns(columnIndex).Name = column1.Name AndAlso _
   TypeOf dgv.Columns(columnIndex) Is DataGridViewComboBoxColumn Then
   SendKeys.Send("{F4}")
   
  End If
  
End Sub



posted by へっぽ at 19:06 | TrackBack(0) | VB.NET | このブログの読者になる | 更新情報をチェックする
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/431359955

この記事へのトラックバック