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

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
ju89 (Normal User)
Pro


Messaggi: 61
Iscritto: 26/03/2014

Segnala al moderatore
Postato alle 14:17
Martedì, 22/04/2014
Ho due quesiti da risolvere.

1) Invece del tasto tab per andare alla textbox successiva,posso usare il tasto invio?Se si,  come posso fare?
2) Quando inserisco un numero nella prima textbox (esempio: 5800), una volta premuto il tasto invio per andare alla textbox successiva, mi dovrebbe ridare 5800,00 è possibile?Se si, come?

Vi ringrazio anticipamente.

PM Quote
Avatar
amreo (Normal User)
Pro


Messaggi: 93
Iscritto: 18/03/2013

Segnala al moderatore
Postato alle 17:26
Martedì, 22/04/2014
Per completare la textbox in automatico potresti fare cosi

All'evento KeyPress delle textbox puoi verificare il tasto.
se è invio, cambia il controllo selezionato.
Usando
Codice sorgente - presumibilmente Plain Text

  1. Me.ActiveControl = TextBox2



ES:
Codice sorgente - presumibilmente VB.NET

  1. Private Sub TextBox1_KeyPress(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
  2.         If e.KeyCode = Keys.Enter Then
  3.             Me.ActiveControl = TextBox2
  4.         End If
  5.     End Sub



il punto 2 non ho ben capito.
NB: se usi questo procedimento non puoi usare il carattere VbCrLf per i testi nelle textboxs

PM Quote
Avatar
ju89 (Normal User)
Pro


Messaggi: 61
Iscritto: 26/03/2014

Segnala al moderatore
Postato alle 17:41
Martedì, 22/04/2014
Si perfetto il punto 1 anche io avevo trovato questo codice  in giro su internet ma se premo invio si sente il "beep" di windows, cosa che non vorrei si sentisse.
Per il punto 2) ho una textbox dove inserire un valore in €, quando lo inserisco rimane (prendendo l'esempio di 5800€) 5800. Io vorrei che uscisse 5800,00

PM Quote
Avatar
amreo (Normal User)
Pro


Messaggi: 93
Iscritto: 18/03/2013

Segnala al moderatore
Postato alle 18:36
Martedì, 22/04/2014
Io userei NumericUpDown, che gestisce valori numerici. se scegli tale è molto semplice impostare la virgola
basta che imposti le proprietà nella finestra di progettazione
NumericUpDown1.NumericPlaces = 2
NumericUpDown1.Maximium = 100000000000000

in alternativa, quando premi enter,
controllare la fine con textbox1.text.endwith(",") e aggiungerci la virgola è gli 0
tipo
If TextBox1.Text.EndWith(",") Then
      Textbox1.Text &= ",00"
End If

PM Quote
Avatar
ju89 (Normal User)
Pro


Messaggi: 61
Iscritto: 26/03/2014

Segnala al moderatore
Postato alle 18:56
Martedì, 22/04/2014
Poi quando torno a casa provo, ti ringrazio intanto. Per quanto riguarda il "beep" ogni volta che premo invio? Come posso risolvere questo problema?

PM Quote
Avatar
amreo (Normal User)
Pro


Messaggi: 93
Iscritto: 18/03/2013

Segnala al moderatore
Postato alle 20:00
Martedì, 22/04/2014
Non c'avevo fatto caso XD

PM Quote
Avatar
ju89 (Normal User)
Pro


Messaggi: 61
Iscritto: 26/03/2014

Segnala al moderatore
Postato alle 22:33
Martedì, 22/04/2014
Neanche io, poi una volta acceso le casse... Soluzioni in merito? :D

PM Quote
Avatar
ju89 (Normal User)
Pro


Messaggi: 61
Iscritto: 26/03/2014

Segnala al moderatore
Postato alle 0:21
Mercoledì, 23/04/2014
Risolto il beep dell'invio inserendo questo codice
Codice sorgente - presumibilmente C# / VB.NET

  1. e.SuppressKeyPress = True



il codice completo è:

Codice sorgente - presumibilmente VB.NET

  1. Private Sub sanzione_KeyPress(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles sanzione.KeyDown
  2.         If e.KeyCode = Keys.Enter Then
  3.             Me.ActiveControl = speseadd
  4.             rateautorizzate.Text = (sanzione.Text) / 105
  5.             e.SuppressKeyPress = True
  6.         End If
  7.     End Sub



spero sia utile a qualcuno in difficoltà.
Poi domani pomeriggio testo l'altra riga di codice per il completamento dei numeri.

PM Quote
Avatar
ju89 (Normal User)
Pro


Messaggi: 61
Iscritto: 26/03/2014

Segnala al moderatore
Postato alle 14:42
Mercoledì, 23/04/2014
Testo quotato

Postato originariamente da amreo:
If TextBox1.Text.EndWith(",") Then
      Textbox1.Text &= ",00"
End If
  



Permettimi di correggerti, il codice corretto sarebbe:

Codice sorgente - presumibilmente Delphi

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



ti eri dimenticato la s di End.

Comunque tornando a noi, se digito una sanzione di 5800€ tutto bene, premendo il tasto invio il programma mi completa 5800 con 5800.00, se invece metto 5800.30 nella textbox il programma me lo completa con 5800.30.00 e qui è sbagliato, quando inserisco i decimali non dovrebbe inserire gli zeri, aiuti in merito? Grazie!

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo