使用表单元素与UserControls进行交互

时间:2017-01-05 20:06:41

标签: c# winforms events user-controls

我在用户控件上有一个按钮,默认情况下未启用。当表单上发生事件时,我希望它能够启用该按钮。我在主窗体上设置了一个按钮来测试它,它似乎将UC按钮设置为启用,但它在应用程序中似乎没有启用。

public partial class Form1 : Form
{

    public Login ucLogin = new Login();

    private void button1_Click(object sender, EventArgs e)
    {
        if (ucLogin.loginEnabled)
        {
            MessageBox.Show("True");
        }
        else
        {
            MessageBox.Show("False");
            ucLogin.loginEnabled = true;
        }


    }
}

Form.cs

在登录表单的usercontrol中:

public partial class Login : UserControl
{
    public bool loginEnabled
    {
        get { return ucBtn.Enabled; }
        set { ucBtn.Enabled = value; }
    }
}

奇怪的是,如果我点击表单按钮1,它会说"错误",如果我再次点击它,它会说" True",表示它确实更改UC按钮的值,但在应用程序上,它仍保持禁用状态。

1 个答案:

答案 0 :(得分:0)

您在表单上看到的Login用户控件可能不是您要设置loginEnabled属性的实例。