I've always admired applications that, when asking you to indicate a timezone, only show you a set of likely options (in my case, only North American timezones), with an option to show more - rather than always forcing you to pick through dozens of obscure timezones.
Any thoughts how to go about this in .NET? My first thought was to define ranges of UTC offsets (e.g. -8 to -5 for the US) - but that includes zones in South America, etc. Should I just hard-code some arrays containing the TimeZoneInfo.ID values of likely sets of timezones for specific regions (e.g. North America, Europe, etc.)? Or is there a more elegant way?