Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [vb.net 2013]Completamento textbox automatico
Forum - C# / VB.NET - [vb.net 2013]Completamento textbox automatico - Pagina 2

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
R0gerBlack (Member)
Expert


Messaggi: 210
Iscritto: 10/06/2010

Segnala al moderatore
Postato alle 0:35
Venerdì, 25/04/2014
Ma che diavolo è sta roba?
Codice sorgente - presumibilmente C# / VB.NET

  1. If TextBox1.Text.EndsWith(",") Then
  2.       Textbox1.Text &= ",00"
  3. End If



Se vuoi un arrotondamento decimale a due cifre (sottoforma di stringa, nel tuo caso)

Basta che usi la funzione Format
Codice sorgente - presumibilmente VB.NET

  1. 'CDbl lo uso per una conversione esplicita da string (textbox.text) a double (round)
  2. Dim Round As Double = CDbl(Val(Textbox1.Text))
  3. Dim numero As String = Format(Round, "0.00" )
  4. Textbox1.Text = numero



N.B. Ricorda che in america la virgola è usata per separare i numeri ogni 3 cifre (1,000,000) mentre il punto è usato per i decimali (Es. 1,045.56) quindi, devi utilizzare il punto.

Ultima modifica effettuata da R0gerBlack il 25/04/2014 alle 0:36
PM Quote
Avatar
ju89 (Normal User)
Pro


Messaggi: 61
Iscritto: 26/03/2014

Segnala al moderatore
Postato alle 10:33
Venerdì, 25/04/2014
Codice sorgente - presumibilmente VB.NET

  1. 'CDbl lo uso per una conversione esplicita da string (textbox.text) a double (round)
  2.     Dim Round As Double = CDbl(Val(Textbox1.Text))
  3.     Dim numero As String = Format(Round, "0.00" )
  4.     Textbox1.Text = numero



Perfetto R0gerBlack adesso funziona alla perfezione!

Però aggiungo un'altra domanda. Se volessi usare questa funziona anche quando premo il tasto TAB? Ho letto che è impossibile disattivare la funzione TAB è vero?
Vi ringrazio

PM Quote
Avatar
R0gerBlack (Member)
Expert


Messaggi: 210
Iscritto: 10/06/2010

Segnala al moderatore
Postato alle 12:19
Venerdì, 25/04/2014
Sbagliato, il codice del tasto TAB in Visual Basic è dato dalla funzione

Codice sorgente - presumibilmente C# / VB.NET

  1. ProcessTabKey(ByVal forward As Boolean)



Se sovrascriviamo questa funzione con una personalizzata, puoi eseguire quello che ti serve quando viene premuto il tasto tab, prima - o dopo - della sua effettiva funzione. Anzi se vuoi puoi persino eliminarla:

Codice sorgente - presumibilmente VB.NET

  1. 'Esempio di polimorfismo: Modifichiamo la funzione originale ProcessTabKey
  2. Protected Overrides Function ProcessTabKey(ByVal forward As Boolean) As Boolean
  3.     'Anteponiamo questo codice al costruttore MyBase
  4.     If sanzione.Focused Then
  5.         'Codice da eseguire alla pressione del tasto Tab
  6.     End If
  7.     'Richiamiamo la funzione originale:
  8.         'Se l'istruzione MyBase.ProcessTabKey(forward) viene commentata
  9.     'Il pulsante tab perderà il suo effetto
  10.     MyBase.ProcessTabKey(forward)
  11.     Return True
  12. End Function



EDIT
Rileggendo il primo post, ho visto che vuoi anche che il pulsante invio funga da tab. Se vuoi fare questo puoi risparmiare ulteriormente codice inserendo questo codice nella Sub sanzione_KeyPress
Codice sorgente - presumibilmente VB.NET

  1. If e.KeyCode = Keys.Enter Then
  2.      'Esegui il codice del pulsante tab sovrascritto
  3.      ProcessTabKey(True)
  4.      e.SuppressKeyPress = True
  5. End If


Ultima modifica effettuata da R0gerBlack il 25/04/2014 alle 12:43
PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo