我有一个登录表单,当我登录成功时,我想从中打开一个“Home form”,这显然是我自己做的。您可以查看下面应该打开表单的部分。它应该参考现有的表格吗?我尝试了一切,但我无法弄明白。
但是它打开了一个新形式而不是我称之为“HomeFRM”的形式。
我如何打开该表格?
this.Hide();
Form _HomeFRM = new Form();
_HomeFRM.Show();
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace DELETE
{
public partial class HomeFRM : Form
{
public HomeFRM()
{
InitializeComponent();
}
}
}
答案 0 :(得分:0)
更改为:
this.Hide();
_HomeFRM newForm = new _HomeFRM();
newForm.Show();
您的自定义表单是一个新类:“_ HomeFRM”
您正在创建一个名为“自定义”的Form类的新实例(默认为空类)。
相反,您需要将表单用作类。
答案 1 :(得分:0)
我认为您的_HomeFrm表单是在包含此内容的文件中定义的(或者像这样)
namespace MyForms
{
public class HomeFrm : Form
{
public HomeFrm()
{
InitializeComponent();
.....
}
.... other methods and event handlers for the HomeFrm class
}
}
现在,如果你想创建这个类的实例并显示它,你的代码应该创建正确的类,而不是基类
// This is required to get access to all classes included
// in the MyForms namespace unless the following code is
// itself inside the same namespace....
using MyForms;
.....
this.Hide();
HomeFrm myHomeFrm = new HomeFrm();
myHomeFrm.Show();
作为旁注,我建议不要使用“登录”表单启动您的应用程序,并在应用程序的生命周期内保持隐藏状态。 Insted从HomeFrm开始,在构造函数内部启动Login表单,将登录结果保存在全局变量中,并在Form_Load事件处理程序中决定是否要继续或停止应用程序