textfeld auslesen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • textfeld auslesen

    guten morgen zusammen,

    da ich immer noch dabei bin mich in c# einzuarbeiten habe ich auch gleich wieder eine frage^^

    auf einer form habe ich ein textfeld das zur usereingabe bestimmt ist. den inhalt des textfelds frage ich so ab:

    Quellcode

    1. double iZahl1 = 0;
    2. ...
    3. iZahl1 = Convert.ToDouble(txtZahl1.Text);


    das funktioniert auch soweit. mein problem ist jetzt, dass ich natürlich einen fehler habe. sobald ich keine zahlen sondern buchstaben in das feld schreibe gibts ne fehlermeldung.
    nun zu meiner frage: kann ich vorab den datentyp im feld erfragen? bzw, kann ich verhindern das buchstaben eingegeben werden? soweit ich weiß bekommt man immer einen string von einem textfeld.
    gibt es funktionen mit denen man soetwas lösen kann oder muss man auf exceptions zurück greifen?


    thx, truespin
  • Du kannst auf das Textfeld n Event legen...
    Irgendwie obKeyDown oder so. Dadrin könntest du dann das letzt eingebene Zeichen in nen char-array speichern und diesen auf isDigit oder isNumber oder sowas Prüfen.
    Ich glaube das ging :)
    Und wenns nicht passt dann das Zeichen löschen oder halt alles leeren und mit dem char-array wieder füllen (wobei das array das "falsche" zeichen natürlich nicht mehr enthalten darf^^).


    Gruß
  • hallo,

    hab das jetzt hinbekommen. da ich nur die zahlen und das komma erlauben will sieht das ganze jetzt so aus:

    Quellcode

    1. private void txtZahl1_KeyPress(object sender, KeyPressEventArgs e)
    2. {
    3. if (!(e.KeyChar >= '0' && e.KeyChar <= '9' || e.KeyChar == ',' || e.KeyChar == 008))
    4. {
    5. e.Handled = true;
    6. }
    7. else
    8. {
    9. e.Handled = false;
    10. }
    11. }
    Alles anzeigen


    ich kann mir aber nicht vorstellen das es dafür keinen eigenen befehl gibt... bzw. eine möglichkeit nur nummerische zeichen zuzulassen. wenn da jemand was weiß bzw. mir sagen kann was ich da noch schöner machen kann dann würde mich das wirklich interessieren^^

    thx, truespin