c# - 使用表单元素与 UserControls 交互

标签 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;
        }


    }
}

表单.cs

在登录表单的用户控件中:

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

奇怪的是,如果我点击表单按钮 1,它会显示“False”,如果我再次点击它,它会显示“True”,表明它确实改变了 UC 的值按钮,但在应用程序上,它仍处于禁用状态。

最佳答案

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

关于c# - 使用表单元素与 UserControls 交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41493761/

相关文章:

javascript - 如何从 Cefsharp EvaluateScriptAsync 获取返回值

c# - 通过 ajax 使用 List<MyItem> 参数调用 Controller 方法

vb.net - 在 VB.NET 中切换 TopMost

c# - 为什么要使用事件?

c# - DataGridView、虚拟模式和 "lags"

JavaScript 显示旧事件

java - JTextArea 更新为 DocumentListener

c# - 在 TableLayoutPanel Visual Studio 中交换控件

c# - 浏览器不会在 IIS 8 本地 Web 服务器上显示 Crystal 报表

events - Web3 事件监听器。检查元掩码登录