Начну с того, что я не так разбираюсь в C#, и я пишу приложение Windows Forms, которое записывает в файл XML, который PowerShell может позже читать элементы из разных точек конфигурации.Получить стандартное имя часового пояса
Я создал ComboBox, который перечисляет TimeNames DisplayNames, который отлично работает.
ReadOnlyCollection<TimeZoneInfo> systemTimeZones;
systemTimeZones = TimeZoneInfo.GetSystemTimeZones();
cbTimeZone.DataSource = systemTimeZones;
cbTimeZone.BindingContext = new BindingContext();
Я пытаюсь получить стандартное имя выбранного часового пояса DisplayName в ComboBox. Я нашел TimeZoneInfo.Local.StandardName, но это не то, что я ищу, поскольку меня не интересует текущая системная информация. Я хочу использовать событие SelectedIndexChanged для ComboBox для отображения стандартного имени в ярлыке. Кажется, должен быть простой способ, которым я просто пропустил последние 2 дня чтения.
Wanderlust - Вы сказали, что используете WPF, но 'DataSource' и' BindingContext' являются свойствами combobox WinForms. Они не существуют в WPF. Что он? –
Мэтт: часовой пояс не требуется, если передача осуществляется с использованием UTC. Отвечая на вопросы, вы должны убедиться, что дизайн кода правильный, а также синтаксис и использование. Не имеет смысла исправлять проблему кодирования, если приложение не будет работать. – jdweng
@jdweng - ОП не задал * о передаче значений времени или времени преобразования вообще. Вы, кажется, предполагаете, что они вообще не создают сборщик часовых поясов, но для этого нет оснований, поскольку у нас нет никакой информации о том, как этот сборщик будет использоваться. UTC не является панацеей. Есть действительно сценарии, где вам нужно спросить пользователя о своем часовом поясе. Что касается вопроса WPF vs WinForms, это действительно важно, так как нельзя правильно ответить на вопрос без него. –