DialogResult.OK在Windows窗体中显示为整数

本文关键字:显示 整数 窗体 OK Windows DialogResult | 更新日期: 2023-09-27 18:28:30

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

这样我就可以写(例如):

if(form.ShowDialog() == 6)

而不是:

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

DialogResult.OK在Windows窗体中显示为整数

通常最好避免在整数和枚举常量之间进行强制转换。

IMO,规范形式是最好的:

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

无论如何,如果不需要,可以考虑使用alias指令创建别名。类似这样的东西:

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

附言:是的,如果你真的想,你可以投:

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

这不是对您问题的直接回答,但我希望更多地解释一下,您正试图解决一个不存在的问题。

来自规范:

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

(强调矿)

换句话说,你需要的using语句实际上不会以任何方式阻碍你。您并没有像在Python等不同语言中那样完全包含整个包。

记录在案,在python中有一种比整个包更好的引用资源的方法,但这与无关

是的,直接在http://referencesource.microsoft.com

此处:

http://referencesource.microsoft.com/#System.Windows.Forms/winforms/Managed/System/WinForms/DialogResult.cs,489debd4e71ec9d7