Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente bannato
    Registrato dal
    Dec 2003
    Messaggi
    562

    Riposizionarsi all'interno di una stringa dopo aver perso il focus

    Come faccio a riposizionare il cursore all'interno di una textbox nell'esatta posizione di dov'era prima?
    Mi spiego meglio. Ho una textbox e ad ogni modifica fa un controllo su quanto digitato, si osiziona su un'altra parte della form e poi ritorna alla textbox.
    Facendo così però, se io scrivo in sequenza '1' e '3' non viene scritto 13 ma 31 perchè quando ritorno col focus sulla textbox il cursore va alla sinistra del testo presente nella cella.
    Io vorrei che il cursore si riposizionasse dopo il '1' in maniera che a fine digitazione venga scritto 13.

    forse ho fatto un po' di casino ma spero qualcuno mi abbia capito...

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    798
    se non ricordo male SelStart è la proprietà da utilizzare. Impostala alla lunghezza del contenuto della textbox.
    Ans.

  3. #3
    ricordati che il linguaggio va sempre specificato nel titolo... (come da regolamento)

    VB6?
    ...Terrible warlords, good warlords, and an english song

  4. #4
    Utente bannato
    Registrato dal
    Dec 2003
    Messaggi
    562
    Originariamente inviato da Johnny_Depp
    ricordati che il linguaggio va sempre specificato nel titolo... (come da regolamento)

    VB6?
    Scusami hai ragione.
    VB.net

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    798
    non cambia nulla, sempre SelStart, esempio:

    Textbox1.SelStart = Textbox1.length
    Ans.

  6. #6
    Utente bannato
    Registrato dal
    Dec 2003
    Messaggi
    562
    Originariamente inviato da ans
    non cambia nulla, sempre SelStart, esempio:

    Textbox1.SelStart = Textbox1.length
    Però, mettiamo che sulla textbox c'è già un valore, ipotesi 10. Se io voglio scrivere 2310, mi posiziono all'inizio del teso scrivo il 2 ma poi, con
    Textbox1.SelStart = Textbox1.length
    si posiziona alla fine del testo ed il risultato sarebbe 2103.
    Come faccio a rilevare in che punto del testo si trova il cursore?
    Poi lo riposiziono nello stesso punto con
    Textbox1.SelStart = posiz_cursore

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    798
    sorry, vb.net è SelectionStart, cmq cambia poco è solo più estesa la sintassi.

    TextBox1.SelectionStart come puoi leggere dall'intellisense fa o un Get o un Set della posizione del cursore. Quindi o assegna o ritorna la posizione.
    Ans.

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.