I have a whole CodeProject article devoted
exactly to this problem. Please see:
Wish You Were Here… Only Once[
^].
Please see: this is pretty interesting. Even though my main very sophisticated method is very unusual and is developed mostly for fun, it is fully functional, based on the CLI standards, effective and demonstrates using very non-trivial technique. Besides, regular, non-esoteric approach to the problem is fully explained and discussed.
—SA