workaround, i've attached an event handler to theediting control'sleave event. event code below, simply updates the combobox in the datagridview when fired.
Private Sub dgv_workpackdata_EditingControlShowing(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles dgv_workpackdata.EditingControlShowing
RemoveHandler e.Control.KeyPress, AddressOf dgv_workpackdata_touppercase
AddHandler e.Control.KeyPress, AddressOf dgv_workpackdata_touppercase
If (TypeOf e.Control Is ComboBox) Then
Dim cmb_editingcontrol As DataGridViewComboBoxEditingControl = CType(e.Control, DataGridViewComboBoxEditingControl)
If (cmb_editingcontrol IsNot Nothing) Then
cmb_editingcontrol.AutoCompleteMode = AutoCompleteMode.SuggestAppend
cmb_editingcontrol.DropDownStyle = ComboBoxStyle.DropDown
RemoveHandler cmb_editingcontrol.Leave, AddressOf dgv_workpackdata_combo_leave
AddHandler cmb_editingcontrol.Leave, AddressOf dgv_workpackdata_combo_leave
End If
End If
End Sub
'event handler for combo leave
Sub dgv_workpackdata_combo_leave(ByVal o As Object, ByVal e As System.EventArgs)
Dim cmb_editingcontrol As DataGridViewComboBoxEditingControl = CType(o, DataGridViewComboBoxEditingControl)
'force the datagridviewcombocolumn value
dgv_workpackdata.Item(intcol, introw).Value = cmb_editingcontrol.Text
End Sub
'event handler for uppercase input
Sub dgv_workpackdata_touppercase(ByVal o As [Object], ByVal e As KeyPressEventArgs)
e.KeyChar = UCase(e.KeyChar)
Debug.Print(e.KeyChar.ToString)
End Sub