DialogResult.OK作为Windows窗体中的整数

时间:2015-12-30 22:15:15

标签: c# winforms

是否有一个等于System.Windows.Forms.DialogResult.OK的整数,而不是我必须为一行代码引用Windows窗体库?

所以我可以写(例如):

if(form.ShowDialog() == 6)

而不是:

if(form.ShowDialog() == System.Windows.Forms.DialogResult.OK)

3 个答案:

答案 0 :(得分:5)

在整数和枚举常量之间进行avoud转换通常更好。

IMO,规范形式是最好的:

using System.Windows.Forms;
....
if(form.ShowDialog() == DialogResult.OK)

无论如何,如果不合适,您可以考虑使用using alias directive制作别名。像这样:

using Res = System.Windows.Forms.DialogResult;
....
if(form.ShowDialog() == Res.OK)

P.S。是的,如果你真的想要,你可以施展:

if((int)form.ShowDialog() == 1)

答案 1 :(得分:2)

这不是您问题的直接答案,但我希望解释您尝试解决一个不存在的问题。

来自the specification

  

使用指令有助于使用在其他命名空间中定义的命名空间和类型。使用指令会影响名称空间或类型名称(第3.8节)和简单名称(第7.5.2节)的名称解析过程,但与声明不同,使用指令不会将新成员提供给基础声明空间。使用它们的编译单元或命名空间。

(强调我的)

换句话说,您需要的使用声明并不会以任何方式阻碍您。您并不像使用其他语言(如Python)那样完全包含整个包。

对于记录,有一种更好的方式来引用python中的资源而不是整个包,但那是无关紧要的

答案 2 :(得分:0)