+ Rispondi al messaggio
Pagina 2 di 3 primaprima 123 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 26

Ignorare un secondo click nella selezione di un combobox

  1. #11
    L'avatar di Brontolo
    Brontolo non è in linea Very Important Person
    @Fix:
    1) Non mi piace e, comunque, c'è il rischio che la tendina del ComboBox si apra verso l'alto creando qualche altro problema.

    2) Avevo provato, ma la disabilitazione dell'intero TabControl non è bella a vedersi.

    3) Provato DoEvents in vari punti "strategici", ma senza fortuna.

    @Alex:
    Proverò il metodo Invalidate (mai usato), anche per cultura.

    Comunque, come detto al post #5 il problema del secondo click posso considerarlo risolto con il semplice inserimento di quell' Exit Sub. Adesso ho il problema collaterale dell'evidenziazione del tab corrente.
    Avevo pensato di rinunciare alla comodità del metodo DrawItem impostando
    TabControl1.DrawMode = TabDrawMode.Normal
    
    e di manipolare il contenuto del tab così:
        Private Sub tabControl1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles tabGio.SelectedIndexChanged
            ...
            EvidenziaTab(tabControl1)
        End Sub
    
        Private Sub EvidenziaTab(tc As TabControl)
            Dim tp As TabPage = tc.TabPages(tc.SelectedIndex)
            Dim g As Graphics = tp.CreateGraphics()
            Dim f As Font = tc.Font
            Dim br As New SolidBrush(Color.Blue)
            Dim r As New Rectangle
            r = tc.GetTabRect(tc.SelectedIndex)
            f = New Font(f, FontStyle.Bold)
            g.DrawString(tp.Text,  f, br, r)
        End Sub
    
    cioè ridisegnando il rectangle r sopra al tab, ma non succede niente.
    ℹ️ Leggi di più su Brontolo ...

  2. #12
    L'avatar di _alka_
    _alka_ non è in linea Very Important Person
    Quote Originariamente inviato da Brontolo Visualizza il messaggio
    Proverò il metodo Invalidate (mai usato), anche per cultura.
    Non ho capito se hai provato o meno la mia soluzione.
    ℹ️ Leggi di più su _alka_ ...

  3. #13
    L'avatar di Brontolo
    Brontolo non è in linea Very Important Person
    Quote Originariamente inviato da _alka_ Visualizza il messaggio
    Non ho capito se hai provato o meno la mia soluzione.
    Non ancora, ma lo farò appena possibile
    ℹ️ Leggi di più su Brontolo ...

  4. #14
    L'avatar di Brontolo
    Brontolo non è in linea Very Important Person
    Quote Originariamente inviato da Brontolo Visualizza il messaggio
    Non ancora, ma lo farò appena possibile
    Ho provato ad aggiungere TabControl1.Invalidate alla fine dell'evento SelectedIndexChanged. Direi che non cambia niente.

    Appena posso faccio un mini progetto includendo solo ciò che serve ad isolare la questione, così smetto di pasticciare nel codice buono (che è molto più ampio) e magari ve lo posto.
    Grazie comunque.
    ℹ️ Leggi di più su Brontolo ...

  5. #15
    L'avatar di gibra
    gibra non è in linea Very Important Person

  6. #16
    L'avatar di SirJo
    SirJo non è in linea Scolaretto
    Io utilizzerei un Panel trasparente posizionato proprio sotto al ComboBox1, cioè sovrapposto alla zona dove vuoi evitare il click - APRIGLIANO BARTOLINI BONACCHI nell'image di esempio che hai messo, con Visible = False

    Nell'evento ComboBox1_SelectedIndexChanged metti questo Panel.Visible = True, e fai partire un timer di 1 secondo (o quello che vuoi tu).
    Nel momento in cui il cliente fa un doppio click, il secondo click lo intercetta il tuo Panel trasparente e quindi non farà nulla.
    Nell'evento Timer_Tick metti il tuo Panel.Visible = False e dovrebbe funzionare.

    Ovviamente è solo la mia umile idea

    P.S.: se vuoi ti posto il codice di esempio che ho realizzato dove mi sembra funzioni bene
    Ultima modifica di SirJo; 01-09-2021 08:42 

  7. #17
    L'avatar di Brontolo
    Brontolo non è in linea Very Important Person
    Buongiorno. Non mi sono dimenticato di voi.
    Ho fatto il mini progetto che allego in modo da offrirvi un passatempo per il fine settimana
    Il cuore del problema è nell'evento Selecting del TabControl, dove ho scritto anche qualche commento.
    Buon divertimento!
    File allegati File allegati
    ℹ️ Leggi di più su Brontolo ...

  8. #18
    L'avatar di gibra
    gibra non è in linea Very Important Person

  9. #19
    L'avatar di SirJo
    SirJo non è in linea Scolaretto
    @Bortolo: hai provato a valutare la mia soluzione ??

  10. #20
    Sgrubak non è in linea Scribacchino
    Quote Originariamente inviato da gibra Visualizza il messaggio
    Ma il combobox è vuoto (non contiene item)
    È stato controintuivo anche per me... Devi cominciare a digitare e poi premere Enter. Allora si scatena il caricamento e appare il DropDown

+ Rispondi al messaggio
Pagina 2 di 3 primaprima 123 ultimoultimo

Potrebbero interessarti anche ...

  1. Risposte: 5
    Ultimo Post: 11-06-2017, 22:02
  2. Escludere secondo click del mouse
    Da camp nel forum Visual Basic 6
    Risposte: 13
    Ultimo Post: 03-01-2012, 19:58
  3. Aggiornare sottomaschera secondo valore ComboBox
    Da eldy71 nel forum Microsoft Access
    Risposte: 2
    Ultimo Post: 19-02-2011, 19:16
  4. Risposte: 2
    Ultimo Post: 21-03-2007, 23:59
  5. [VB6]selezione record con doppio click su un datagrid
    Da printlist nel forum Visual Basic 6
    Risposte: 5
    Ultimo Post: 06-02-2007, 23:06