kontrollera att användaren skriver siffror
hur kan man bäst göra för att kontrollera att användaren skriver siffror, inte missa att fylla i textboxen samt att programmet inte hänger sig, till detta ska man ha olika texter till användaren och även sätta just den specifika textboxen i focus, har använt en if-sats så här:
If txtA.Text = "" Then
Call ErrorMessage(msgtxt1)
txtA.Focus()
Exit Sub
ElseIf Not IsNumeric(txtA.Text) Then
Call ErrorMessage(msgtxt2)
txtA.Focus()
Exit Sub
Else
a = txtA.Text
End If
såhär har jag gjort för samtliga textboxar, tycker att det är enklare att läsa om de har egna if-satser, man kanske kan lösa det med en loop eller ngt jag vet inge, så om det finns någon som har något bättre förlag och som kan tala om varför så vore jag tacksam om någon kan tala om det för mig eller om det jag gjort är ok, (för det fungerar), men är nyfiken på andra lösningar,
tacksam för all hjälp jag kan få
Svara
Sv: vb.net
Skriv en Sub
Skriv Handles Textbox1.nåt, Textbox2.Nåt efter subben
Använd "sender" istället för textboxens namn.
If sender.Text = "" Then
/micke
Svara
Sv: vb.net
tack, det fungerade. Men om då också vill att den ska sätta den textboxen i focus som det är fel i hur ska göra då?
Svara
Sv: vb.net
Nu vet jag inte jag missförstått något men om du nu vill kolla input i en textbox varför avänder du inte Validator kontroller? En Required för att kolla så det inte är tomt och en RegularExpression för att kolla så det bara är siffror.
Eller funkar inte Validators i WinForms?
Svara
Sv: vb.net
Usch! Se iaf till att typa om <b>Sender</b> till ett <b>TextBox</b> objekt innan du anropar någon metod eller property på den.
1 | DirectCast (Sender, TextBox).Text = "" |
Svara
Sv: vb.net
jag håller på med att lära mig vb.net, så jag behöver se hela codningen så som jag visade först, för annars har jag svårt att förstå vad ni menar.
Svara
Sv: vb.net
En sak du kan utnyttja på Windows Forms är att lägga en <b>ErrorProvider</b> komponent på ditt formulär. En ErrorProvider placerar en liten ikon vid din kontroll för att indikera att något var fel med den. Håller man musen över ikonen så visas en text som man förser den med.
Följande kod använder en errorprovider för att indikera att man måste ange ett tal i en textbox. Om det inmatade värdet inte är numeriskt så färgar den också innehållet i textboxen rött och det blir inte svart igen förrens man korrigerat det inmatade värdet till ett giltigt format.
[VB.NET]
1 2 3 4 5 6 7 8 9 10 11 | Private Sub TextBox1_TextChanged( ByVal sender As Object , ByVal e As System.EventArgs) Handles TextBox1.TextChanged If Not IsNumeric( Me .TextBox1.Text) Then Me .TextBox1.ForeColor = Color.Red Me .ErrorProvider1.SetError( Me .TextBox1, "Du måste ange ett tal" ) Else Me .TextBox1.ForeColor = Color.Black If ( Me .ErrorProvider1.GetError( Me .TextBox1).Length > 0) Then Me .ErrorProvider1.SetError( Me .TextBox1, "" ) End If End If End Sub |
Svara