Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    control.selectnextcontrol

    Saluti a tutti,
    sono neofito ed utilizzo vb net 2003... ed ho un problema che per me è insormontabile ma che per voi sarà sicuramente un giochino.
    Devo passare nell'ambito di un form da una textbox ad una combobox e viceversa più volte e con il tasto enter invece del solo tab.
    Il codice che ho provato funziona a metà e precisamente, funziona da textbox a textbox, funziona da textbox a combo box ma non funziona da combobox a textbox (se non con il tasto tab).
    Potete essere così gentili da aiutarmi voi a trovare l'inghippo, visto che il mio unico neurone(Anselmo) ha dato forfait scappando in alaska?
    Questo è il codice che utilizzo.

    Private Sub form1_Keypress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyUp

    If e.KeyCode = Keys.Enter Then
    Me.SelectNextControl(Me.ActiveControl, True, True, True, True)
    End If

    end sub

    Grazie 1520 in anticipo
    Alweb

  2. #2
    prova in questo modo:

    codice:
        Private Sub ComboBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles ComboBox1.KeyDown
    
            If e.KeyValue = Keys.Enter Then
    
                TextBox1.Focus()
            End If
    
        End Sub
    
    
        Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
    
            If e.KeyValue = Keys.Enter Then
    
                ComboBox1.Focus()
    
            End If
    
        End Sub
    Le proprietà TabStop dei due controlli devono essere True.

  3. #3
    Grazie 1582 per l'interessamento,
    mi sorge un dubbio... ma nel modo da te indicato dovrei scrivere il codice per ogni textbox o combobox?
    questo volevo evitarlo. i controlli (sia text che combo) sono tanti e poi appesantirei notevolmente il tutto che già di suo risulterà abbastanza pesante.
    comunque proverò anche in attesa di nuove soluzioni che a te o qualche altro gentilissimo amico possano venire in mente.
    salutoni
    alweb

  4. #4
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244

    Re: control.selectnextcontrol

    Originariamente inviato da alweb

    sono neofito ed utilizzo vb net 2003...
    A me funziona benissimo il tuo codice.
    Hai messo KeyPreview = True (vero?)

    Però io uso VB2008.
    Valuta se è il caso di aggiornare... Il 2008 è tutta un'altra cosa!
    [/QUOTE]


  5. #5
    il keypreview è giustamente impostato (true)... contrariamente, penso, non funzionerebbe nemmeno con le textbox.
    dalle varie prove che ho eseguito in effetti sembrerebbe che sulle combobox non ci fosse proprio il keypreview true in quanto non rileva proprio la pressione dei tasti (provato con diversi sistemi) e quindi non funziona nemmeno il sistema indicato da GANDALFRANK che ho così modificato

    Dim campo As Int16

    If e.KeyCode = Keys.Enter Then
    campo = Me.ActiveControl.TabIndex
    Me.SelectNextControl(Me.ActiveControl, True, True, True, True)
    If campo = 2 Then TextBox2.Focus()
    If campo = 7 Then ComboBox2.Focus()
    If campo = 8 Then Buttonok.Focus()
    End If

    per intenderci meglio quando i campi sono combobox (controlli 2, 7,8) e.keycode è null

    help!!!!!!
    alweb

  6. #6
    Non so quali problemi tu abbia avuto, ma di solito, quando posto del codice, l'ho provato di persona, e a me funziona.

    Forse susstiste una qualche differenza fra VB2003 e VB2008....

  7. #7
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da Gandalfrank
    Forse susstiste una qualche differenza fra VB2003 e VB2008....
    Qualche differenza? Poca poca...


  8. #8
    Forse susstiste una qualche differenza fra VB2003 e VB2008....
    E' una provocazione non una riflessione....

  9. #9
    non so se faccio bene a postare ancora qui, ma il mio, probabilmente, è un problema che risiede da qualche parte e non riesco a capire nemmeno se è lo stesso problema o meno.
    Ho risolto il problema, per il momento,... aggirandolo, cioè utilizzando tutte textbox e attivando (tipo help) le combobox e le listbox con i tasti ctrl+enter (magra consolazione per uno che vuole studiare il problema e risolverlo).
    nel fare ciò ho rilevato che intercettando gli eventi keypress, keydown o keyup i tasti F1...F12 danno tutti lo stesso risultato cioè NULL mentre tutti gli altri tasti danno il giusto risultato.
    Qualcuno sa/può darmi qualche indicazione?
    Alweb

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.