我有两个窗体,一个主窗体Main,上面有三个button,其中两个默认enable为false是不好用的,还有一个login,点击login弹出登录窗体,完成登录后我想在登录窗体中控制主窗体,让两个默认enable的button为true,不知道各位明白了米?

解决方案 »

  1.   

    if (loginForm.ShowDialog() == DialogResult.OK)
    {
        btnXXX.Enabled = true;
    }
      

  2.   

    我在loginForm里取不到主界面的控件哇
      

  3.   

    可以在登录窗体中用(Main)this.Owner获取主窗体
      

  4.   

    可以把代码写在主窗体里,通过得到login 窗体的对象中的要得到的状态来控制
      

  5.   

    主窗体Main中需要在login窗体控制的控件Modifiers属性为public
    在登录窗口中
    Main main=new Main();
    main.Button1.Enable=false;
    main.Button2.Enable=true;
    main.ShowDialog();

    Application.Run(main);
      

  6.   

    在main定义一个全局变量,login登录成功就给全局变量赋一值。然后用一个time控件一直检测这个全局变量的值,他变了就让button的的属性改的可现实的。或者下载button事件中检查全局变量的值改变没有。
      

  7.   

    给主窗体定义个进行enable的改变的函数,定义为子窗体中的事件即可
    子窗体中定义委托
    public delegate void dgShowStatus(int Max, int Value);//定义委托
            public dgShowStatus ShowStatus;//定义委托实现类子窗体中调用
    ShowStatus(m_intMaxMum, 10000);主窗体中调用子窗体时使用以下方式:
    frmEnergyUseTaizhang frm = new frmEnergyUseTaizhang();
                frm.MdiParent = this;
                frm.ShowStatus += new frmEnergyUseTaizhang.dgShowStatus(ShowProcessBar);
                frm.Show();ShowProcessBar为主窗体中的函数
    public void ShowProcessBar(int Max, int intInteral)
    {
    }
      

  8.   

    把Main传给登录窗体,并把默认的两个button的Modeifiers属性改成public,这样就可在登录窗体中控制着这两个button了
      

  9.   

    类似这种。
     http://www.aiiq.net/?p=1404