Du kan ställa in med api att din textbox bara skall acceptera tal. Titta på ES_NUMBER: Frågan är lika gammal som VB Bör kompletteras med funktion för att bara tillåta decimaltecken som hör till respektive land annars blir det elände. Har också diskuterats tidigare. Helt riktigt. Och eftersom alla brukar ha sina egna önskemål om vad som skall hända när användaren försöker mata in text och siffror mm. i en textbox (åtminstone har jag det) så är mitt tipps att man skriver en egen funktion för validering mot en angiven typ för textboxen så den beter sig som man önskar.Tillåt bara siffror i TextBox, men hur?
Har kunnat detta tidigare men...
man kollar vad användaren tryckt ner för tangent, men hur avbryter man inmatningen om värdet är av icke godkänd typ?
en början? (OBS Detta är vb i Excel, kan skilja sig något från vb6)
<code>
Private Sub txtIRI_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii >= 48 And KeyAscii <= 57 Then
'Tillåten tangenttryckning
else
'Avbryt inmatningen (på nåt sätt...?)
End If
End Sub
</code>Sv: Tillåt bara siffror i TextBox, men hur?
[endast siffror]Sv: Tillåt bara siffror i TextBox, men hur?
Så här är det enklaste sättet
<code>
Private Sub Text1_KeyPress(KeyAscii As Integer)
'Normal bör du tillåta dessa tillsammans med siffror
'BackSpace,Tab,Enter,Komma,Punkt,Minus och 0 - 9
Select Case KeyAscii
Case 8, 9, 13, 44, 45, 46, 48 To 57
'tillåt
Case Else
KeyAscii = 0
End Select
End Sub
</code>Sv: Tillåt bara siffror i TextBox, men hur?
(Om man nu önskar att kunna mata in decimaltal)Sv: Tillåt bara siffror i TextBox, men hur?
Sen bör man också lägga in en funktion som kollar när användaren
"Klistrar" in ett värde i TextBoxen."Det är många vinklar på en plog"
"Ju mer man gräver i en skit,ju mer luktar det" Sv: Tillåt bara siffror i TextBox, men hur?
Min egen har lite lull som gör att fältet blir gult när man kommer dit och att den vägrar ta emot andra tecken än de som skall vara där. Man kan sedan bygga vidare med max-min kontroll helt efter eget behov.
Prova själv
Jag har byggt min som en egen klass (lånat av Andreas H. tror jag, eller om det var av någon annan här på pellesoft)
som använder funktionen:
"Public WithEvents TextBox As TextBox"
för att koppla ihop händelser i textboxen med klassen.
Testa och sök här på forumet och webben, det finns massa godis och bygg en egen klass efter dina önskemål.
Är man envis går det nog även att fixa så att Delphi kan göra liknande.