Veritas84 Skrevet 10. desember 2004 Del Skrevet 10. desember 2004 Jeg har em rekke tekstbokser som brukeren skal fylle ut navn, tlfnr osv... I tekstboksen tlfnr skal brukeren bare kunne taste inn tall. Hvordan får jeg dette til? Lenke til kommentar
Møllerodden Skrevet 10. desember 2004 Del Skrevet 10. desember 2004 Du kan feks gjøre det på denne måten. Private Sub txtNyPostNr_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtNyPostNr.KeyPress ' Godtar bare tall og kontrolltegn If Not (e.KeyChar.IsDigit(e.KeyChar) Or _ e.KeyChar.IsControl(e.KeyChar)) Then epKunderDesign.SetError(sender, "Ugyldig tegn") Else epKunderDesign.SetError(sender, "") End If End Sub Legg merke til at text boksen hare en KeyPress metode. Hilsen Frode Lenke til kommentar
Veritas84 Skrevet 13. desember 2004 Forfatter Del Skrevet 13. desember 2004 Spørsmålet mitt gjalt programmering i vb.net Jeg brukte denne koden: Private Sub txtStudnr_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtStudnr.KeyPress ' Godtar bare tall og kontrolltegn If Not (e.KeyChar.IsDigit(e.KeyChar) Or _ e.KeyChar.IsControl(e.KeyChar)) Then MsgBox("Ugyldig tegn") Else MsgBox("") End If End Sub Det virket i en viss grad...Dersom brukeren skriver inn bokstaver, kommer meldingsboksen med teksten "Ugyldig tegn". Brukeren trykker OK og bokstaven som ble tastet inn blir fremdeles vist i tekstfeltet. Håper noen kan hjelpe meg her. Lenke til kommentar
Kirikiri Skrevet 13. desember 2004 Del Skrevet 13. desember 2004 Legg på en txtStudnr.Text = "" etter MsgBox("Ugyldig tegn"), så får du fjernet det som er tastet inn. Kirikiri Lenke til kommentar
Veritas84 Skrevet 13. desember 2004 Forfatter Del Skrevet 13. desember 2004 Har prøvd med forslaget til kirikiri. jeg skriver inn en bokstav, bokstaven forsvinner, msgboxen vises, men så kommer bokstaven tilbake igjen...surt. Lenke til kommentar
Z_IM Skrevet 13. desember 2004 Del Skrevet 13. desember 2004 (endret) C# .Net bool showWarning = true; System.Text.RegularExpressions.Regex r = new Regex( "[a-zæøåA-ZÆØÅ]" ); txtBox.Changed += new System.EventHandler( this.txtBox_Changed); private void txtBox_Changed( object sender, System.EventArgs e ) { if( r.IsMatch( txtBox.Text) ) { txtBox.Text = txtBox.Text.Remove( txtBox.Text.Length-1, 1 ); if( showWarning ) { MessageBox.Show( "Only numbers.", "Warning!", MessageBoxButtons.OK, MessageBoxIcon.Warning ); showWarning = false; } txtBox.Select(txtBox.Text.Length, 0); } } Endret 11. januar 2005 av Z_IM Lenke til kommentar
Veritas84 Skrevet 13. desember 2004 Forfatter Del Skrevet 13. desember 2004 vb.net her... ellers takk Lenke til kommentar
Kirikiri Skrevet 14. desember 2004 Del Skrevet 14. desember 2004 (endret) Har prøvd med forslaget til kirikiri.jeg skriver inn en bokstav, bokstaven forsvinner, msgboxen vises, men så kommer bokstaven tilbake igjen...surt. Gjør litt debugging på når bokstaven kommer tilbake. Sjekk om siden lastes igjen før eller etter bokstaven forsvinner, og så setter inn igjen. Har du VS.NET, så sett en break på Page.IsPostback og se hva som skjer. Edit: Page.Load -> Page.IsPostback. Kirikiri Endret 14. desember 2004 av Kirikiri Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå