プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (2件)

どのようなタイミングでそのデータを取得したいのでしょう


たとえば ボタンを押したときとか、セルの選択が変わったときとか

そのタイミングにより イベントの引数から情報を引き出すのか
データグリッドビューのプロパティから取得しないといけないのかが異なってきます

ボタンが押された際の場合なら
if TypeOf DataGridView1.CurrentCell Is DataGridViewComboBoxCell then
  dim Comb as DataGridViewComboBoxCell = DataGridView1.CurrentCell
  MsgBox( Comb.Items.IndexOf( Combo.Value ) )
end if
といった具合です

この回答への補足

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

補足日時:2008/09/29 15:24
    • good
    • 0

フォームにメンバー変数として


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 )
といった具合でしょう …
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/10/01 14:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!