微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 如何将numericUpDown双向绑定到成员类

我需要twoway绑定configClass.RaMsize到numericupdown.

BindField(this.updownRamSize,"Value",configClass,"RaMsize");//all right

this.updownRamSize.Value = 1213;// configClass.RaMsize - not change - it's bad!

方法

public static void BindField(Control control,string propertyName,object dataSource,string dataMember)
        {
            Binding bd;

            for (int index = control.DataBindings.Count - 1; (index == 0); index--)
            {
                bd = control.DataBindings[index];
                if (bd.PropertyName == propertyName)
                    control.DataBindings.Remove(bd);
            }
            control.DataBindings.Add(propertyName,dataSource,dataMember);
        }

解决方法

我假设ConfigClass看起来像:

public class ConfigClass
{
    public decimal RaMsize { get; set; }
}

所以改变
            control.DataBindings.Add(propertyName,dataMember);
至:

control.DataBindings.Add(propertyName,dataMember,false,DataSourceUpdateMode.OnPropertyChanged);

测试:

BindField(this.updownRamSize,"RaMsize");

this.updownRamSize.Value = 1213;// configClass.RaMsize will also have 1213

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐