Announcement

Collapse
No announcement yet.

Textbox eingabe blockieren

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

  • Textbox eingabe blockieren

    Hallo

    ich hab wieder mal eine frage. Und zwar hab ich in meiner Form eine Textbox. Sie soll zur Eingabe dienen, aber nur wenn die Tag-Eigenschaft keinen Wert hat, also z.B .Lenght = 0 ist.

    Wie kann ich es also erreichen, dass wenn der Benutzer in der Textbox irgendeine Taste drückt, sie den Wert nur annimmt, wenn die Tag-Eigenschaft keinen Wert hat?


    zurzeit hätte ich folgende Überlegung:

    Code:
    Textbox1.PreviewKeyDown += new PreviewKeyDownEventHandler(field_PreviewKeyDown);
    
    public void field_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
            {
                if (this.ActiveControl.Tag.ToString().Trim().Length != 0)
                {
                    //Wert nicht annehmen, aber wie ??? 
                }
            }


    danke im voraus

    mfg, halbi

  • #2
    Hallo,

    Du hast mindestens zwei Möglichkeiten.

    Anstelle von (Preview)KeyDown kannst Du KeyPress abfragen; dabei kann KeyPressEventArgs.Handled gesetzt werden; siehe das Beispiel in der SDK-Doku/MSDN.

    Mir würde aber besser gefallen, dass TextBox.Enabled gesetzt wird, wenn Du TextBox.Tag festlegst. Alternativ kannst Du auch den EventHandler zuordnen oder entfernen. Beides sind Verfahren, die einmalig durchgeführt werden (bei der Änderung von Tag) und nicht bei jedem Tastendruck wiederholt werden.

    Gruß Jürgen

    Comment

    Working...
    X