Tasti scelta rapida

di il
20 risposte

Tasti scelta rapida

Ecco di ritorno la più disastrata della forum.
Ho messo questo titolo perché non sapevo veramente quale descrizione dare al mio problema.
Io ho una combobox in cui mi va a ricercare un campo Materiale. Cosa succede, che se il materiale che cerco non c'è, voglio poterglielo mettere io. E fin qui tutto ok. Il fatto è che sto sviluppando un programma fatto da un altro programmatore e lui, per fare questo inserimento, usava la combinazione di tasti control+i. Visto che gli utenti sono abituati a questa mentalità e visto che non capisco niente di quello che ha scritto l'altro (non so per quale legge un progrmmatore più è bravo, più scrive programmi incomprensibili).
In parole spicce, devo fare in modo che l'utente si posizioni sulla combo e prema la combinazione di tasti ctrl+i che fa aprire un'altra form.
Giuro che sono nel buio più assoluto

20 Risposte

  • Re: Tasti scelta rapida

    Beh, puoi impostare la proprietà KeyPreview della form a true e gestire il codice nell'evento keydown o keyup (io ti consiglio la keyup perché si scatena quando rilasci il tasto) della form. Non usare il metodo keypress perché non ti permette la gestione del tasto control.
    Ex.:
    Private Sub Form1_Load(...) Handles MyBase.Load
    Me.KeyPreview = True ' lo puoi fare anche a livello di designer.
    End Sub

    Private Sub Form1_KeyUp(...) Handles MyBase.KeyUp
    If e.Control And e.KeyCode = Keys.I Then
    ComboBox1.Focus()
    End If
    End Sub
  • Re: Tasti scelta rapida

    Io ho provato a navigare un po' nell'help e anche li avevo trovato KeyDown e KeyUp e il KeyCode. Allora ho provato a scrivere il seguente codice, ma mi da errore:

    'Private Sub frmInsDisBas_KeyDown(ByVal KeyCode As Integer, ByVal Shift As Integer)
    ' If KeyCode = vbctrlmask + "i" Or KeyCode = vbctrlmask + "e" Then
    ' frmInserisci.show()
    ' End If
    'End Sub

    Non far caso agli apici, l'ho commentato per andare avanti con altre cose.
    Se ci fai caso, vbCtrlMask rimane in minuscolo, infatti il compilatore di vb me lo segnala come se fosse una variabile nn inizializzata. Eppure l'ho preso dall'help.
    Adesso provo con il metodo che mi suggerisci tu.
    Grazie mille (ormai telo dico tante volte ke sembra una frase fatta).
  • Re: Tasti scelta rapida

    Il mio esempio è in Vb .net e in Vb 6 non funziona.
    Tu che versione usi? Vb .Net o Vb6?
  • Re: Tasti scelta rapida

    Visual Studio .net 2003.
    Cmq, se hai voglia, t rimando alla nuova discussione ke aprirò tra poco!!!!!!!!!!!!!
  • Re: Tasti scelta rapida

    Ma sei riuscito a risolvere il problema con i tasti di scelta rapida?
  • Re: Tasti scelta rapida

    No, l'ho solo rimandato!
    Provo a fare risolvere un problema alla volta, tanto per avere la soddisfazione d veder funzionare qcosa ke ho fatto io. Adesso voglio far andare qlla cavolo d textbox!!!!
  • Re: Tasti scelta rapida

    Per gli appassionati d questa specie d telenovela sui tasti control+i, ecco gli ultimi sviluppi. Ho cercato ancora in giro e ho trovato un esempietto in un manuale tedesco (quindi incomprensibile per una ke come me ha fatto solo inglese), ma abbastanza simile a qllo ke devo fare io.
    Ecco il codice ke ne ho ricavato:

    Private Sub frmInsDisBas_KeyDown(ByVal KeyCode As Integer, ByVal Shift As Integr)
    If Shift = Keys.Control And KeyCode = Keys.I Then
    MessageBox.Show("OK", "Nuovo materiale")
    End If
    End Sub

    Cmq, nn funzia, però almeno nn mi da più errori sintattici.
  • Re: Tasti scelta rapida

    Ti rimetto il codice di esempio che ti ho fatto l'altra volta.
    Private Sub Form1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyUp
    If e.Control And e.KeyCode = Keys.I Then
    ComboBox1.Focus()
    End If
    End Sub

    Nota che i parametri dell'evento sono diversi
    Puoi usarlo anche nella keydown.
    Saluti
  • Re: Tasti scelta rapida

    Nn per farmi i fatti tuoi, ma almeno sei pagato per andare in giro a rispondere alla gente ignorante? Cioè è il tuo lavoro? No, perkè se sei costretto per lavoro a rispondermi, mi metto l'anima in pace; ma se lo fai per passarti il tempo, kissà ke due balle t son già venute!
    Cmq sia...
    Provato ma...nisba.

    eppure ke è un esempio molto simile a quello ke ho trovato nell'help, qnd proprio nn so dove possa essere ke sbaglio.
  • Re: Tasti scelta rapida

    :-) no non sono pagato per rispondere a questo forum... ma lo faccio cmq. con molto piacere.
    Per il problema dei tasti, hai impostato la proprietà del form KeyPreview a true? se non lo fai ti da errore.
    Se hai ancora problemi ti mando un esempio via email.
    Saluti
    Marko
  • Re: Tasti scelta rapida

    Fatto! Nn mi dava errore, nn me lo dava nanche prima. Ma questo evento form_KeyUp come funziona? Perkè ho provato a mettere un punto d interruzione proprio sulla prima riga, cioè su
    private sub..... e nn si è interrotto.
  • Re: Tasti scelta rapida

    La keyup si verifica quando rilasci un tasto.
    se vuoi ti mando un esempio in Vb.Net.
    Saluti
    Marko
  • Re: Tasti scelta rapida

    Manda, manda! Qualsiasi aiuto mi fa comodo!!!!
    Nn so se puoi vedere la mia mail dal profilo, cmq nn ho problemi a scriverla qui:


    Lo so, lo so, come nome fa schifo, però in quel periodo stavo leggendo i manga di VideoGirlAi ed è saltato fuori quello!!
  • Re: Tasti scelta rapida

    Ti ho mandato un esempio, quando premi control + i ti si posiziona sulla combobox1.
    Metti il codice che ti serve al posto della focus.
    Saluti
    Marko
Devi accedere o registrarti per scrivere nel forum
20 risposte