有一个form1里有三个label和一个button,,,每个label都有   label.Enabled = false    单击button后弹出登录窗口form2当登陆成功后刷新form1,将三个label属性改为    label.Enabled = true;;;;;;如何实现?????????菜鸟求助!!!!!!!!

解决方案 »

  1.   

    form2为登录窗口。
    里面放2个按钮,设置确定按钮DialogResult为OK。form2 f = new form2();
    if (f.ShowDialog() == DialogResult.OK)
    {
        labe1.Enabled = true;
        ...
    }
      

  2.   


    // 获取登录窗体的 DialogResult,判断是否成功
    using (LoginForm lgnFrm = new LoginForm())
    {
        if (lgnFrm.ShowDialog(this) == DialogResult.OK)
        {
            SetLabelEnabled(label1, label2, label3);
        }
    }// SetLabelEnabled
    private void SetLabelEnabled(params Label[] labels)
    {
        Array.Foreach<Label>(labels, label => label.Enabled = true);
    }// 至于 DialogResult,在 LoginForm 中,你可以这样做
    private void btnOK_Click(object sender, EventArgs e)
    {
        // 验证
         if (success)
        {
            DialogResult = DialogResult.OK;
            Close();
        }
    }
    private void btnCancel_Click(object sender, EventArgs e)
    {
        DialogResult = DialogResult.Cancel;
        Close();
    }
      

  3.   

    主窗体 登录按钮
    Form2 f = new Form2();
    if (f.ShowDialog() == DialogResult.OK)
    {
        labe1.Enabled = true;
        labe2.Enabled = true;
        labe3.Enabled = true;
    }
    子窗体 确定按钮
    bool b = 登录是否成功;
    if(b)
    {
        // 记录登录信息 ... 
        this.DialogResult = DialogResult.OK;
    }