PiGi78 ha scritto:
Buondì
In linea di massima dovresti poterlo fare intercettando l'evento di mouse wheel sulla tua combo box.
Hai già provato?
alla fine ho messo il combobox(Cmb_Conti) in un pannello. quando ruoto la rotella si disabilita il combo e memorizzo l'ultimo SelectedIndex che ripristino nell'evento SelectedIndexChanged, che gestisco per non avere un loop.
il controllo rimane disabilitato sino a quando non clicco nel pannello in cui è contenuto. e si sblocca.
Bruttissimo ma funziona.
Dim AnnullaScrllConti As Boolean = False
Dim IdxContiDaRipristinare As Integer = -1
Private Sub Lbl_Qta_Ordine_MouseWheel(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Cmb_Conti.MouseWheel
If Cmb_Conti.Items.Count - 1 = Cmb_Conti.SelectedIndex And e.Delta < 0 Then Exit Sub
If Cmb_Conti.SelectedIndex = 0 And e.Delta > 0 Then Exit Sub
Cmb_Conti.Enabled = False
AnnullaScrllConti = True
IdxContiDaRipristinare = Cmb_Conti.SelectedIndex
End Sub
Private Sub Cmb_Conti_SelectionChangeCommitted(sender As Object, e As EventArgs) Handles Cmb_Conti.SelectionChangeCommitted
If AnnullaScrllConti = False Then ProceduraCambioConto_ = True
End Sub
Private Sub Cmb_Conti_SelectedIndexChanged(sender As Object, e As EventArgs) Handles Cmb_Conti.SelectedIndexChanged
If AnnullaScrllConti Then
If Cmb_Conti.SelectedIndex = IdxContiDaRipristinare Then
Exit Sub
End If
Cmb_Conti.SelectedIndex = IdxContiDaRipristinare
Exit Sub
End If
If Cmb_Conti.SelectedIndex > -1 Then IndicePosConto = Cmb_Conti.SelectedIndex
ImostaContoAccount()
End Sub