对速记对话框显示有什么影响吗?

Pau*_*sik 3 c# winforms

任何使用.Net和WinForms完成任何UI工作的人都非常熟悉这种类型的代码:

TestForm frm = new TestForm();
frm.ShowDialog();
Run Code Online (Sandbox Code Playgroud)

我发现自己希望显示模态对话框的调用不那么冗长,更像是静态调用.Andf有一种更简单的方法.在一个简单的例子中,你真正需要的是这样的:

new TestForm().ShowDialog();
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?这种速记会不会有任何影响?例如,Windows消息未正确处理/路由,对话框资源未被处理等?

当我看到Ray的反馈时正在研究这个问题:

我想更简单的方法是使用TestForm创建一个静态成员,该成员创建自己的实例并在内部调用ShowDialog.所以,这段代码:

public static DialogResult DoModal()
{
    return new TestForm().ShowDialog();
}
Run Code Online (Sandbox Code Playgroud)

可以这样调用:

TestForm.DoModal();
Run Code Online (Sandbox Code Playgroud)

RaY*_*ell 5

如果您不想在代码中的任何位置重用表单对象,则可以使用简短表单

new TestForm().ShowDialog();
Run Code Online (Sandbox Code Playgroud)

如果您想稍后使用该对象执行某些操作,则必须将其分配给变量.