Natürlich gibt es sowas wie Autocompletion für TextBoxen als auch ComboBoxen, doch kann es manchmal von Nöten sein, ein eigenes custom filtering einzubauen. Dies war der Fall in einem meiner letzten Projekte. Dabei ist mir folgendes, fast schon bösartiges Verhalten der ComboBox aufgefallen.

  1. Ok, das seh ich noch ein:
    Wenn man die Liste filtert (dynamisch OnKeyPress oder TextChanged) und die ComboBox ist DroppedDown, dann sollte man vor dem Verlassen (OnLeave) den ItemIndex auf -1 setzen, da es sonst zu Problemen kommt wenn die ComboBox das selektierte Item in der Liste sucht.
  2. Und jetzt kommts:
    Wenn man aus irgend einem Grund direkt von der ComboBox (aufgeklappt und gefiltert) auf eine andere Applikation klickt, sucht die ComboBox zuerst das Selected Item und führt dann erst das OnLeave aus.

Da kommen natürlich unlösbare Probleme auf den Developer zu. Daher meine “derzeitige” Patentlösung. Wenn die Liste leer ist (nach dem filtern) einfache ein leeres Element in die Liste einfügen.