C#Will“WindowState.ToString”会在不同文化之间发生变化

时间:2008-12-28 04:54:42

标签: c# windowstate

以下面的代码为例;

    if (Convert.ToString(frm.WindowState) == "Minimized")
        Layout.WindowState = "Maximized";
    else
        Layout.WindowState = Convert.ToString(frm.WindowState);

我们正在分析窗口状态的字符串定义,即“Minimized”。

这种字符串描述会在不同文化之间发生变化吗?

最后,在这段代码中,是否有一个Enum我们可以使用它来检查窗口状态?

我们可以重构这段代码吗?

3 个答案:

答案 0 :(得分:8)

WindowState 是枚举 - System.Windows.Forms.FormWindowState。只需与枚举常量进行比较,跳过ToString()疯狂。

答案 1 :(得分:1)

它不应该在整个文化中发生变化,因为它只是将Enum名称转换为字符串。当您使用.Net / Windows / IDE的不同文化时,枚举名称不会更改,因此它将保持原来的状态。

答案 2 :(得分:0)

WindowState是一个枚举。

我建议使用一个好的IDE(Visual Studio f.e),它会使类似的细节显而易见。

System.Windows.WindowState