Events



  • Hallo,

    wenn ich in eine Textbox ein Zeichen eingebe dann betrifft das ja mehrere Ereignisse. z.B. das textchanged und das KeyPress Event. Welches dieser Ereignisse wird denn zuerst aufgerufen ? Gibt es da eine Priorität ?



  • Hallo blurry,

    in dem Fall wird zuerst das KeyPress-Ereignis ausgelöst und zuletzt dann das TextChanged.
    Im KeyPress kann man ja noch z.B. den Tastendruck verwerfen oder aber ein anderes Zeichen stattdessen zurückgeben, während alle Changed-Ereignisse nur reine Benachrichtigungen (Notify-Events) sind (die erst nach der eigentlichen Aktion ausgelöst werden).



  • ok danke Th69.

    private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
            {
                textBox1.Text = "KeyPress";
            }
    
            private void textBox1_TextChanged(object sender, EventArgs e)
            {
                textBox1.Text = "TextChanged";
    
            }
    


  • was mich jetzt wundert warum das Textchanged Event nicht mehr aufgerufen wird ?
    Wenn ich einen kleinBuchstaben eingebe tut sich in der Textbox gar nix.

    private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
            {
                if ((int)e.KeyChar > 96 && (int)e.KeyChar < 123) e.Handled = true;
    
            }
    


  • Th69 schrieb:

    Hallo blurry,
    während alle Changed-Ereignisse nur reine Benachrichtigungen (Notify-Events) sind (die erst nach der eigentlichen Aktion ausgelöst werden).

    aso das keypress Event informiert das changedevent dass e.handled also das ereignis schon behandelt wurde



  • Hallo blurry,

    sorry, daß ich jetzt erst wieder antworte.

    Ja, genau das "e.Handled = true" meinte ich mit "Tastendruck verwerfen".


Anmelden zum Antworten