• DataBinding的大用


    在项目开发中,遇到一类需求,效果有点像家里的电灯开关,有多个开关同时控制一个灯,无论拨那个都同样的效果。实际的需求是:两个CheckBox,A在上面,为主开关,B在panelC里面,为子开关。A选中后C显示+B选中、A未选中则C隐藏+B未选、B可见时必定为选中时,如果此时将B改为未选则A未选+C隐藏。

    绕来绕去的,看个示例图。

    最后的实现思路是用控件的DataBinding来做。

    public Form1()
    {
        InitializeComponent();
        chkA2.DataBindings.Add("Checked", chkA, "Checked",false, DataSourceUpdateMode.OnPropertyChanged);
    }
    
    private void chkA_CheckedChanged(object sender, EventArgs e)
    {
        //MessageBox.Show("执行了");
    }

    在界面初始化完成之后,将两个控件的Checked属性绑定在一起。然后定义chkA的CheckedChanged事件。

    值得注意的是:A和A2的Check值虽然绑定在了一起,但是这里只定义A的CheckedChanged事件,也就是说,无论点击A还是A2都只会触发一次A的CheckedChanged事件,不会陷入循环触发。这是中最重要的一点。

    这样处理下来,代码量少,思路清晰。

    留文备用---icy。

  • 相关阅读:
    迷茫之后的选择是理想
    Java 数组在内存中的结构
    Himi浅谈游戏开发de自学历程!(仅供参考)
    java+上传文件夹
    java+web+大文件上传下载
    http+断点续传
    浏览器上传大文件
    java大文件上传
    网页上传大文件
    php+大文件上传
  • 原文地址:https://www.cnblogs.com/icyJ/p/DataBindings2.html
Copyright © 2020-2023  润新知