所以,我在这里苦苦挣扎.我正在用C#编写一个Windows控制台应用程序,并且刚刚为应用程序创建了一个名为frmLogin的登录表单.我尝试使用MS记录的方法;
Form f = new Form();
f.ShowDialog();
Run Code Online (Sandbox Code Playgroud)
但这显然加载/显示一个空白表单,而不是我在表单设计器中定义的表单.
在我的主应用程序中,我希望能够以编程方式显示登录表单,但是当我尝试使用时;
frmLogin.ShowDialog();
Run Code Online (Sandbox Code Playgroud)
它告诉我"非静态字段,方法或属性'System.Windows.Forms.Form.ShowDialog()'需要一个对象引用
在过去,我可以通过简单地使用上面的代码片段来显示表单.所以,自从我上次编写Windows控制台应用程序以来,显然有些变化.
有人能告诉我我的方式错误吗?
这将创建一个新的类型实例Form:
Form f = new Form();
Run Code Online (Sandbox Code Playgroud)
当然,这是一个空白表格.看起来你的类型被调用了frmLogin.通常这听起来像一个变量名而不是类名,但是你在这里得到的错误告诉我它是一个类:
frmLogin.ShowDialog();
Run Code Online (Sandbox Code Playgroud)
鉴于此,解决问题的最快方法是创建表单实例并显示它:
frmLogin login = new frmLogin();
login.ShowDialog();
Run Code Online (Sandbox Code Playgroud)
但是,为了与命名标准和约定保持一致(以帮助防止将来出现混淆和问题),我强烈建议将表单本身重命名为:
LoginForm
Run Code Online (Sandbox Code Playgroud)
然后你可以使用像frmLogin变量名这样的东西,这是一种更常见的方法:
LoginForm frmLogin = new LoginForm();
frmLogin.ShowDialog();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23154 次 |
| 最近记录: |