Entwickler-Ecke

WinForms - Buchstaben bei Eingebe filtern und löschen


MasterUller - Mo 12.08.13 14:20
Titel: Buchstaben bei Eingebe filtern und löschen
Hallo.

Ich habe ein Programm geschrieben und das einzige, was mir noch fehlt ist, wenn der User dieses Programmes in die TextBox Buchstaben eingibt, diese sofort gelöscht werden sollen oder erst gar keine Buchstaben eingegeben werden dürfen.

Die Buschstaben würde ich so überprüfen:

C#-Quelltext
1:
2:
3:
4:
5:
6:
private void Test_KeyDown(object sender, KeyEventArgs e)
{
   if (e.KeyCode == Keys...)
   {
   }
}


Ralf Jansen - Mo 12.08.13 14:35

KeyEventArgs hat eine Handled Property die du setzen kannst wenn du nicht möchtest das das System noch was mit dem Key anstellt.


MasterUller - Mo 12.08.13 14:44

Und wie muss ich das dann machen mit den KeyEventArgs?


Ralf Jansen - Mo 12.08.13 14:51


C#-Quelltext
1:
e.Handled = true;                    


MasterUller - Mo 12.08.13 14:57

Ja und? da macht er gar nichts... Ich will nur die Buchstaben rausfiltern und die Zahlen soll er erkennen und in der TextBox stehen lassen.


Ralf Jansen - Mo 12.08.13 15:16

Also willst du immer wenn du einen Buchstaben erkennst Handled auf true setzen.


MasterUller - Mo 12.08.13 15:22

Wie macht man des? Schreib halt mal ein bisschen was!


Ralf Jansen - Mo 12.08.13 15:31

Ich versuche so knapp zu antworten wie du die Frage gestellt hast. Nach dem was man aus deiner Frage entnehmen kann hast du ja schon alles und müßtest nur noch die von mir genannte Codezeile an der richtigen Stelle einfügen.


IhopeonlyReader - Mo 12.08.13 15:58

ich habe zwar keine Ahnung von C ! aber ich fasse die antworten mal zu code zusammen..

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
private void Test_KeyDown(object sender, KeyEventArgs e)
{
   if (e.KeyCode == Keys...)
   {
    e.handled = true
   }
else
  { 
  e.handled = false
  }
}

einfacher eher:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
private void Test_KeyDown(object sender, KeyEventArgs e)
{
   if (e.KeyCode in [0,1,2,3,4,5,6,7,8,9])
   {
   e.handled = false
   }
else
   {
   e.handled = true
   }
}


P.S.: ich übernehme keine Verantwortung über Richtigkeit des quelltextes, ich habe nur das zusammengefasst was ich aus diesem thread erlesen habe..
der IN befehl habe ich verwandt wie in Delphi, ggf. musst du diesen anpassen.. aber so siehst du es vielleicht noch eindeutiger als notwendig und verstehst es auch mal :D..

PS Anfänger tuts gibt's bestimmt viele, vielleicht mal anschauen?


Delete - Mo 12.08.13 16:57

- Nachträglich durch die Entwickler-Ecke gelöscht -