[EDIT] new Version 2.1 [EDIT]

Wie wir alle wissen, haben wir manchmal an den ungewöhnlichsten Orten die besten Ideen. Mir ging es so, hier in Barcelona, bei einem kleinen Umtrunk mit unserer Kollegin Luisa Partridge von Dunstan Thomas. Die Jugend heutzutage sollte die guten alten Spiele auch mal wieder spielen. Warum nicht den G-Sensor des HTC Touch Diamond nutzen zum Flaschendrehen ;) . Für nicht HTC‘ler, man kann die Flasche auch drehen indem man über den Touchscreen streift.

For you english fokls:
Why programming and drink fit so well together.

As we all know, we sometimes get the best ideas in the most unusual places. I got mine, in Barcelona, during a little drink with one of our associates Luisa Partridge from Dunstan Thomas. Todays youth should be playing the good old games again. Why not using the G-Sensor of the HTC Touch Diamond for spin the bottle ;) . If you don’t have a HTC, you can turn the bottle by using the touchscreen.

Spin the bottle NEW: Video on YouTube

Zu diesem coolen Tool möchte ich eigentlich nicht viel sagen. Ralf Westphal hat dazu bereits einen sehr guten Artikel geschrieben. Das Tools selbst gibt es unter http://madebits.com/netz/.

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.