27. januar 2004 - 13:39Der er
10 kommentarer og 2 løsninger
Hjælp til Maskeret TextBox.
Jeg vil gerne have låst en Textbox, så man kun kan skrive bestemte ting ind i den.
Jeg har prøvet med det der hedder: Masked Textbox, men synes ikke helt det virker helt optimalt.
Måske er der nogen her der har en løsning?
1.: Der skal KUN skrive "," IKKE ".". 2.: Skal Altid se sådan her ud: ###,## (# = tal), hvis man vil skrive 5 vil den skrive 005,00... 3.: Og så må man selvfølgelig ikke kunne skrive bogstaver og andre tegn....
Du bruger key_press eventen til at tjekke hvilket tegn der blev tastet. Er det et "ulovligt" tegn, slettes det. Nedenstående kode tillader kun at der tastes .0123456789 i Text1:
Private Sub Text1_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case Asc("0") to Asc("9") Case Asc(",") Case Else KeyAscii = 0 End Select End Sub
Mht 2:
Jeg kender ikke masked textbox, men findes der ikke en standard funktion, kan du jo kode den selv. Jeg er ikke helt med på hvordan du vil have at den skal opføre sig, men du kan (næsten) altid kode dit til den funktionalitet du ønsker - men det er jo nemmer ehvis der findes en standard løsning :o)
Du kan for eksempel lave keytrappe for at sikre, at man kun kan skrive tal:
Private Sub txt1_KeyPress(KeyAscii As Integer) If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyBack _ Or keyascii = 44 Then Exit Sub Else: KeyAscii = 0 Beep End If End Sub
Dernæst kan du bruge format til at ændre, når tekstfeltet mister fokus:
Private Sub txt1.LostFocus txt1.Text = Format(txt1.Text, "###,##") End Sub
"Jeg kender ikke masked textbox, men findes der ikke en standard funktion, kan du jo kode den selv. Jeg er ikke helt med på hvordan du vil have at den skal opføre sig, men du kan (næsten) altid kode dit til den funktionalitet du ønsker :o)"
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.