Discussione chiusa
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Gestione del Tab

  1. #1
    Post
    12
    Like Inviati  
    0
    Like Ricevuti  
    0
    Salve ragazzi volevo sapere se qualcuno può aiutarmi con la gestione del Tab...
    In particolare ho fatto varie textbox da scorrere da tastiera... In
    Sono riuscito a gestire il tab con la tastiera in base agli ordini di tabulazione da me impostati nella proprietà del textbox... Il cursore mi scorre orizzontalmente sia se premo invio che se sposto le freccette.... La mia domanda è la seguente :come faccio a scorrere con le freccette orizzontalmente le textbox e nello stesso tempo se premo invio voglio andare a capo nella textbox che si trova esattamente sopra quella che è in "focus"? (scorre verticale)

  2. #2
    patel45 non è in linea Scolaretto
    Post
    473
    Like Inviati  
    0
    Like Ricevuti  
    0
    puoi mostrare il codice che stai usando ?

  3. #3
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Post
    17,480
    Blogs
    5
    Like Inviati  
    6
    Like Ricevuti  
    34
    Non si capisce nulla
    ℹ️ Leggi di più su AntonioG ...

  4. #4
    Post
    12
    Like Inviati  
    0
    Like Ricevuti  
    0
    Private Sub Form1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
     If TypeOf Me.ActiveControl Is TextBox Then
      If e.KeyCode = Keys.Enter Then
       SendKeys.Send("{TAB}")
       e.Handled = True
      End If
      If e.KeyCode = Keys.Right Then
       Dim start = CType(Me.ActiveControl, TextBox).SelectionStart
       If start = CType(Me.ActiveControl, TextBox).Text.Length Then
        SendKeys.Send( "{TAB}" )
        e.Handled = True
       End If
      End If
      If e.KeyCode = Keys.Left Then
       Dim start = CType(Me.ActiveControl, TextBox).SelectionStart
       If start = 0 Then
        SendKeys.Send( "+{TAB}" )
        e.Handled = True
       End If
      End If
     End If
    End Sub
    
    questo codice mi consente di scorrere in ordine di tabulazione tramite le freccette e il tasto invio .... Ma io voglio che premendo il tasto invio mi sposto in maniera personalizzata e differente da ("{TAB}").
    Chiaramente mi basta cancellare la riga:
    If e.KeyCode = Keys.Enter Then
    SendKeys.Send("{TAB}")
    e.Handled = True
    End If
    ma non ho idea di come gestire l'evento tasto enter con il focus sulle textbox.
    In poche parole deve :se premo le freccette seguire il ("{TAB}") come da codice ma se premo il tasto invio deve seguire il focus delle textbox che gli indico io. Scusate se non mi sono espresso bene. Saluti
    Ultima modifica di AntonioG; 05-12-2017 08:47  Motivo: usa i tag code per il codice e un solo messaggio

  5. #5
    L'avatar di gibra
    gibra ora è in linea Very Important Person
    Post
    6,232
    Like Inviati  
    19
    Like Ricevuti  
    11
    Basta verificare la proprietà Multiline del TextBox.
    Se è vera allora NON devi eseguire la SendKeys, premendo Invio va a capo.

    Comunque, gestire i tasti freccia come fai tu è assolutamente sbagliato e va contro le linee guida di Microsoft (oltre che alla logica, a meno che non vi siano motivi specifici più che validi, ma onestamente non saprei quali...).
    Se tu inibisci il naturale funzionamento dei tasti freccia, come fa poi l'utente a spostarsi tra le lettere della casella?
    ℹ️ Leggi di più su gibra ...

  6. #6
    patel45 non è in linea Scolaretto
    Post
    473
    Like Inviati  
    0
    Like Ricevuti  
    0
    a meno che tenaglia utilizzi le textbox non per scriverci dentro, comunque sarebbe sempre meglio spiegare il contesto, altrimenti si perde tempo e si rischia di fraintendere

  7. #7
    L'avatar di gibra
    gibra ora è in linea Very Important Person
    Post
    6,232
    Like Inviati  
    19
    Like Ricevuti  
    11
    Quote Originariamente inviato da patel45 Visualizza il messaggio
    a meno che tenaglia utilizzi le textbox non per scriverci dentro, comunque sarebbe sempre meglio spiegare il contesto, altrimenti si perde tempo e si rischia di fraintendere
    Scusa, ma non capisco cosa itendi dire.
    Se deve andare a capo in un TextBox, secondo te cos'altro può fare se non per scriverci qualcosa?
    ℹ️ Leggi di più su gibra ...

  8. #8
    patel45 non è in linea Scolaretto
    Post
    473
    Like Inviati  
    0
    Like Ricevuti  
    0
    tutto dipende da cosa intende per andare a capo, non è chiaro neppure perché vuole spostare il focus con le frecce invece di utilizzare il mouse che comunque dovrebbe utilizzare per forza una volta entrato in edit nella textbox

  9. #9
    Post
    12
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ragazzi so che posso sbagliare la gestione del codice, io sto cercando di imparare non sono un programmatore esperto... Per questo cerco uno spunto da qualcuno di voi.
    Cmq sto realizzando un programma che contiene varie textbox che devono essere editate. campo articolo, descrizione, quantità, prezzo, data, cliente ecc..sono 27righe e 5colonne
    è un conteggio ma non per documento fiscale. Quando edito le textbox alla fine premo il pulsante carica e mi trasferisce il contenuto textbox nelle relative celle di un foglio Excel che uso come template.... A me serve che sposto il focus con le freccette in maniera orizzontale e quando premo invio invece mi sposto in orizzontale... L'ultima fila di textbox contiene i prezzi quindi mi è più comodo eseguire il conteggio inserendo i prezzi e poi premere invio per ritrovarmi alla riga sottostante di textbox (più semplicemente come si comporta excel) il programma lo deve usare mio padre che con il mouse non è esattamente come "Messi" con il pallone... ��

  10. #10
    Post
    12
    Like Inviati  
    0
    Like Ricevuti  
    0
    Quote Originariamente inviato da gibra Visualizza il messaggio
    Scusa, ma non capisco cosa itendi dire.
    Se deve andare a capo in un TextBox, secondo te cos'altro può fare se non per scriverci qualcosa?
    A capo intendo in un altra textbox che si trova subito sotto verticalmente....edito textbox, sposto freccette ed edito altra textbox, premo invio edito textbox sottostante. Spero di aver reso l'idea.

Discussione chiusa
Pagina 1 di 2 12 ultimoultimo

Potrebbero interessarti anche ...

  1. Risposte: 0
    Ultimo Post: 25-02-2013, 11:40
  2. Risposte: 6
    Ultimo Post: 31-10-2010, 11:52
  3. VB6 - Gestione OCX
    Da marco86 nel forum Visual Basic 6
    Risposte: 6
    Ultimo Post: 31-05-2009, 14:04
  4. Gestione LED
    Da newpc82 nel forum Visual Basic 6
    Risposte: 9
    Ultimo Post: 17-05-2007, 23:09
  5. Gestione USB
    Da Maxt3r nel forum Delphi
    Risposte: 0
    Ultimo Post: 05-04-2006, 17:34