【发布时间】:2016-04-13 10:09:04
【问题描述】:
首先我会说我在 C# 方面没有那么丰富的经验,我正在编写一个 Windows 窗体应用程序,它写入一个 XML 文件,PowerShell 稍后可以从不同点读取元素在配置期间。
我创建了一个枚举时区显示名称的组合框,效果很好。
ReadOnlyCollection<TimeZoneInfo> systemTimeZones;
systemTimeZones = TimeZoneInfo.GetSystemTimeZones();
cbTimeZone.DataSource = systemTimeZones;
cbTimeZone.BindingContext = new BindingContext();
我正在尝试在 ComboBox 中获取所选 DisplayName 时区的 StandardName。我找到了 TimeZoneInfo.Local.StandardName 但这不是我想要的,因为我不关心当前的系统信息。我想为 ComboBox 使用 SelectedIndexChanged 事件以在标签中显示 StandardName。似乎必须有一种简单的方法让我错过了过去 2 天的阅读。
【问题讨论】:
-
Wanderlust - 您说您使用的是 WPF,但
DataSource和BindingContext是 WinForms 组合框属性。它们在 WPF 中不存在。是哪个? -
Matt:如果使用 UTC 完成传输,则不需要时区。在回答问题时,您必须确保代码的设计以及语法和用法正确。如果应用程序无法运行,则修复编码问题是没有意义的。
-
@jdweng - OP 根本没有询问传输时间值或转换时间。您似乎建议他们根本不创建时区选择器,但没有任何依据,因为我们没有任何关于如何使用此选择器的信息。 UTC 不是灵丹妙药。确实存在需要向用户询问他们的时区的情况。关于 WPF 与 WinForms 的问题,这确实很重要,因为没有它就无法正确回答问题。
-
对不起,马特。这是一个 Windows 窗体应用程序,我更新了原始问题。我在 WPF 中修改并发布了 WPF。
标签: c# winforms c#-4.0 timezone