回 帖 发 新 帖 刷新版面

主题:关于窗体调用的问题

[em18]是这样的,我现在有三个窗体类,分别是frmLogin,frmMain,frmRegister,第一个是用来登陆的,第二个是主窗体,第三个是用来注册的。
我想实现的关系是:可以由登陆窗体导出主窗体和注册窗体,还可以由注册窗体导出主窗体,我看有关资料上是这样写的:
在frmLogin中是这样写的:
public frmMain frm;
frmMain frm_Main=new frmMain();
下面的用语显示主窗体,关闭登陆窗体
frm_main.Show();
this.Visible = false;
然后在frmMain_Load中是这样写的,(tlslabUserName是frmMain中用于显示用户名的一个标签。)
private void frmMain_Load(object sender, EventArgs e)
{
    frmLogin frm_login = new frmLogin();
    frm_login.frm = this;
    this.tlslabUserName.Text = strUserName;
}

我想用同样的办法由登陆窗体进入注册窗体,可以,但是在frm_Register中我使用不了this关键字,我修改后的代码是这样的:
在frmLogin中加了些东西,后面打/的是我加的(关于frmRegister的):
   public frmMain frm;
   public frmRegister frm1;/
   frmMain frm_main = new frmMain();
   frmRegister frm_register = new frmRegister();/
   frm_main.Show();
   this.Visible = false;
   frm_register.Show();/
   this.Visible = false;/
到这里,我想用登陆窗体导出主窗体和注册窗体都没问题,可是问题是下面的

然后在frmRegister中是这样写的
public frmMain frm;
frmMain frm_main = new frmMain();
private void frmRegister_Load(object sender, EventArgs e)
        {
            frmLogin frm_login = new frmLogin();
            frm_login.frm1 = this;
        }
接下来,我想利用this.来引用frmRegister中的字段,可是编译时却显示“关键字this在当前上下文中不可用。”
而且我十分不明白像public frmMain frm;这样的写法
我刚学C#不久,望大家指教

回复列表 (共1个回复)

沙发

没有对象,当然用不了this

我来回复

您尚未登录,请登录后再回复。点此登录或注册