• ベストアンサー

DataGridViewの中のComboBoxについて

2005.netを使用しています。 DataGridViewの中のComboBoxで選択された値のIndexを取得したいのですが、どうにも理解ができておらず苦戦しています。 ComboBoxの値は列の編集から入力しています。 どうか、ご指導お願いします。

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

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

フォームにメンバー変数として Dim WithEvents combCtl As DataGridViewComboBoxEditingControl を追加 DataGridViewのCellLeaveイベントで combCtl = nothing DataGridViewのEditingControlShowingイベントで if TypeOf e.Control Is DataGridViewComboBoxEditingControl then   combCtl = CType( e.Control, DataGridViewComboBoxEditingControl ) end if combCtlのSelectedIndexChangedイベントで MsgBox( combCtl.Text ) といった具合でしょう …

kuroyume21
質問者

お礼

ご丁寧にありがとうございます。 すんなり問題解決することができました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

どのようなタイミングでそのデータを取得したいのでしょう たとえば ボタンを押したときとか、セルの選択が変わったときとか そのタイミングにより イベントの引数から情報を引き出すのか データグリッドビューのプロパティから取得しないといけないのかが異なってきます ボタンが押された際の場合なら if TypeOf DataGridView1.CurrentCell Is DataGridViewComboBoxCell then   dim Comb as DataGridViewComboBoxCell = DataGridView1.CurrentCell   MsgBox( Comb.Items.IndexOf( Combo.Value ) ) end if といった具合です

kuroyume21
質問者

補足

大変、返事がおそくなって申し訳ありません。  ボタンが押されたときでもいいと思うんですが、私の希望としては、 ComboBoxの中から選らばれた時ですね。

すると、全ての回答が全文表示されます。

関連するQ&A