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 - perchè si
Forum - C# / VB.NET - perchè si "valorizza" la textbox2

Avatar
Tonino70 (Normal User)
Rookie


Messaggi: 21
Iscritto: 29/08/2008

Segnala al moderatore
Postato alle 18:30
Lunedì, 06/10/2008
ciao, sono alle prime armi, ho questo problema:
ho creato 2 textbox, nel textbox1.lostfocus ho messo un controllo, esso avviene correttamente, ma mi passa comunque al tab successivo e poi mi riporta alla textbox1.
il mio scopo è se la box1 è null non andare avanti.

allego codice, chi sà, mi può indicare dove ho sbagliato ? grazie

Codice sorgente - presumibilmente Plain Text

  1.  

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.Close()
    End Sub

    Private Sub TextBox1_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.LostFocus
        If TextBox1.Text = "" Then
            MsgBox("la box non può essere vuota", MsgBoxStyle.OkOnly, "errore")
            TextBox1.Focus()
        End If
    End Sub

    Private Sub TextBox2_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox2.GotFocus
        TextBox2.Text = "perchè si valorizza"
    End Sub

End Class

Ultima modifica effettuata da Tonino70 il 06/10/2008 alle 18:33
PM Quote
Avatar
Luk3 (Ex-Member)
Guru


Messaggi: 615
Iscritto: 16/08/2008

Segnala al moderatore
Postato alle 20:24
Lunedì, 06/10/2008
Potresti spiegare meglio?
Grazie ;)

PM Quote
Avatar
Tonino70 (Normal User)
Rookie


Messaggi: 21
Iscritto: 29/08/2008

Segnala al moderatore
Postato alle 20:46
Lunedì, 06/10/2008
Testo quotato

Postato originariamente da Luk3:

Potresti spiegare meglio?
Grazie ;)



come no, anzi scusatemi se non riesco bene.
ho allegato il progetto.
in esecuzione la procedura si posiziona sul textbox1 ed io devo inserire un valore, se non lo faccio e "tabulo" verso la textbox2 la procedura (lostfocus) mi dà il msg di errore, ma nel frattempo è andata cmq "gotfocus" alla textbox2, infatti si vede che la textbox2 si "valorizza".

perchè se nell IF gli ho detto ri ritornare a textbox1.focus()

grazie, spero di essere stato più chiaro.


Tonino70 ha allegato un file: prova_textbox_vuota.zip (68918 bytes)
Clicca qui per scaricare il file
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 16:02
Martedì, 07/10/2008
Direi che l'evento LostFocus viene lanciato dopo che il controllo ha effettivamente perso il focus e quindi dopo che textbox2 l'ha ricevuto. Non puoi quindi impedire che si tabuli via da textbox1 usando l'evento LostFocus. Tuttavia, puoi usare il controllo sull'evento GotFocus (che a me risulta chiamarsi Enter, comunque...) per controllo il valore di textbox1. Allora sì che puoi ritornare indietro.
Questo metodo non è comunque migliore poiché potrebbe causare dei problemi qualora si cambi l'ordine ri riempimento delle textbox.

Per inciso, come ti avevo già suggerito, sarebbe meglio effettuare i controlli tutti insieme, poiché usando il mouse puoi svicolare fuori da un campo e dentro un altro causando non pochi grattacapi.

PM Quote