Ausgabe Combobox formatieren



  • Kann mir vielleicht noch jemand damit helfen, wie ich ein TextChanged Event für die Textbox innerhalb der MultiColumnComboBox erstellen kann?

    Ziel wäre (wie bei einer normalen Combobox), dass wenn der User einen Buchstaben/Text eingibt direkt zu den Einträgen mit diesem Anfangsbuchstaben gesprungen wird (im Idealfall sogar gefiltert).



  • Hier mal der Anfang:

    public event EventHandler TextBoxTextChanged;
    
            private void HandleTextboxTextChanged(object sender, EventArgs e)
            {
                this.OnTextboxTextChanged(EventArgs.Empty);
            }     
            protected virtual void OnTextboxTextChanged(EventArgs e)
            {
                EventHandler handler = this.TextBoxTextChanged;
                if (handler != null)
                {
                    handler(this, e);
                }
            }  
    
     private void txtbox_TextChanged(object sender, EventArgs e)
            {
                if (TextBoxTextChanged != null)
                {
                    TextBoxTextChanged(this, e);
                }
            }
    

    Leider erhalte ich, sobald ich einen Buchstaben eintippe eine StackOverflowException?!



  • Willst du nicht eher

    private void txtbox_TextChanged(object sender, EventArgs e)
    {
        OnTextboxTextChanged(EventArgs.Empty);
    }
    

    ?!!

    P.S. Deine HandleTextboxTextChanged-Methode ist nur dann sinnvoll, wenn du die Parameter wegläßt:

    private void HandleTextboxTextChanged()
    {
        OnTextboxTextChanged(EventArgs.Empty);
    }
    

    So kannst du dann in der oberen Methode dann auch einfach diese aufrufen!

    PPS: Wenn du noch mehr Details dazu wissen willst, dann kannst du dir mal meinen Artikel Kommunikation von 2 Forms anschauen, der u.a. auch Ereignisse behandelt.


Anmelden zum Antworten