Announcement

Collapse
No announcement yet.

TextBox nach Eingabeende in die nächste Textbox wechseln

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • TextBox nach Eingabeende in die nächste Textbox wechseln

    Ich habe eine TextBox definiert mit einer MaxLength von 4. Nun möchte ich, daß automatisch nach Eingabe des letzten Zeichens (hier das 4.) in die nächste TextBox gesprungen wird. Mit welcher TextBox-Eigenschaft kann ich dies erreichen, also ohne Drücken der Eingabetaste oder anderen ?

  • #2
    Hallo und willkommen,

    im Ereignis TextBox.TextChanged (oder Validating) prüfst du die Länge des Inhalts (am besten vorher noch Trim einsetzen). Wenn die Länge 4 beträgt, dann rufst du SelectNextControl auf.

    Eine einfache Eigenschaft, die das automatisch erledigt, gibt es beim "normalen" Control nicht. Vielleicht findest du unter http://www.codeproject.com eine passende Lösung (das ist für Extra-Wünsche immer eine gute Adresse).

    Gruß Jürgen

    Comment


    • #3
      Suppi, danke.
      Für meinen ersten Thread als neuer Gast im Forum --> Soforthilfe erhalten und die funzt auch !!!

      Gruß DrGetz

      Comment


      • #4
        auch wenn bereits geholfen wurde:

        ich bevorzuge es:

        [highlight=c#]
        private void tbx_Name_KeyPress(object sender, KeyPressEventArgs e)
        {
        if (e.KeyChar == '\r')
        {
        btn_Ok_Click(sender, e);
        //oder sprung zur nextcontrol
        }
        }
        [/highlight]

        dies bringt, dass nur bei der eingabe ENTER ein event ausgelöst wird.


        MFG Nooa

        Comment


        • #5
          Richtige Lösung, falsches Problem

          @Nooa
          Wenn schon, dann würde ich nach Keys.Enter prüfen. Aber dein Vorschlag ist keine Antwort auf die Ausgangsfrage: Er wollte automatisch (ohne Return) nach Eingabe des 4. Zeichens weiterblättern. Jürgen

          Comment


          • #6
            dies sollte auch eine ideenerweiterung sein, da ein passender lösungsvorschlag geschrieben wurde.

            ich dachte das habe ich auch mit der einleitungszeile schon vorweggenommen?


            aber du hast recht, dass es mehr sinn macht nach Keys.Enter zu prüfen :-)

            Comment


            • #7
              Sowas finde ich übrigens ganz übel

              Code:
              btn_Ok_Click(sender, e);
              Das ist Code der zu einem EventHandler gehört. Ich würde den Code aus btn_Ok_Click(sender, e) in eine eigene Funktion auslagern. Diese wird dann von btn_Ok_Click() und tbx_Name_KeyPress() aufgerufen.

              Comment

              Working...
              X