1

以下面的代码为例;

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

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

这个字符串描述会在文化之间改变吗?

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

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

4

3 回答 3

8

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

于 2008-12-28T05:07:09.650 回答
1

它不应该跨文化改变,因为它只是将 Enum 名称转换为字符串。当您使用不同的 .Net/Windows/IDE 文化时,枚举名称不会改变,因此它将保持最初编写的内容。

于 2008-12-28T07:09:00.760 回答
0

WindowState 是一个枚举。

我建议使用一个好的 IDE (Visual Studio fe),这将使类似的细节显而易见。

System.Windows.WindowState

于 2008-12-28T05:08:19.490 回答