有两个窗体f1为主窗体,f2为登陆窗体;
  我在f1中添加了一个状态栏,然后添加了个toolStripStatusLabel,另一个窗体f2,我在f2的load事件中修改了窗体f1.enabled为false,登陆成功的话再修改其为true;
  然后我在f1的enablechanged事件中进行判定,如果f1.enabled为真那就修改toolStripStatusLabel.text=**;
  为假的话再toolStripStatusLabel.text=**
  可是我运行时候toolStripStatusLabel.text却一直没变,我测试过,f1的enablechanged事件中的两种判定都进去了,但是就是不能修改toolStripStatusLabel.text;
  然后我在f1中单独添加一个按钮,用来修改toolStripStatusLabel.text,成功了,但这不是我想要的
  上面的情况是为什么?

解决方案 »

  1.   

    private void Form1_EnabledChanged(object sender, EventArgs e)
            {
      
                if (this.Enabled==true)
                {
                    this.toolStripStatusLabel3.Text= "操作员:"+Duixiang.name            
                }
                if (this.Enabled == false)
                {
                    this.toolStripStatusLabel3.Text = "操作员:";
                }
                
            }
             //下面这个可以实现,也就是值传递没有错误
            private void button1_Click(object sender, EventArgs e)
            {
                this.toolStripStatusLabel3.Text = "操作员:"+Duixiang.name;
            }
    就两个窗体- -||;Duixiang是我创建的一个类
      

  2.   

    首先定义1个函数,用来刷新toolStripStatusLabel3的显示
    private void refreshLoginUserInfo()
            {
                if (FLGlobalMembers.sUser == "")
                {
                    Status_LoginInfo.Text = "登录状态:无用户登录";
                    FLGlobalMembers.iLevel = 0;
                }
                else
                {
                    Status_LoginInfo.Text = string.Format("登录用户名:{0}", FLGlobalMembers.sUser);
                    if (FLGlobalMembers.sLevel == "管理员")
                    {
                        FLGlobalMembers.iLevel = 2;
                        
                    }
                    else
                    {
                        FLGlobalMembers.iLevel = 1;
                        
                    }
                }
    在Formmain中调用这个函数上面代码出自我的小程序,可以运行,请给分吧
      

  3.   

    FLGlobalMembers是我单独做的一个类,在登录界面,存储登录信息的