c# – ComboBox没有更新所选项目上的DataBindings更改(WinForms)
发布时间:2020-12-15 08:24:01 所属栏目:百科 来源:网络整理
导读:我有一个绑定到数据源的ComboBox但它不会更新绑定,直到控件失去焦点.如何在所选项目更改时获取更新绑定?在下面的屏幕截图中,我希望标签立即更新以反映新的选择. 一些代码: public enum MyEnum{ First,Second}public class MyData{ public String Name { ge
我有一个绑定到数据源的ComboBox但它不会更新绑定,直到控件失去焦点.如何在所选项目更改时获取更新绑定?在下面的屏幕截图中,我希望标签立即更新以反映新的选择.
一些代码: public enum MyEnum { First,Second } public class MyData { public String Name { get; set; } public MyEnum MyEnum { get; set; } } 样品表格: public SampleForm() { InitializeComponent (); MyData data = new MyData () { Name = "Single Item" }; this.bindingSource1.DataSource = data; this.comboBox1.DataSource = Enum.GetValues (typeof (MyEnum)); this.label2.DataBindings.Add ("Text",this.bindingSource1,"MyEnum",true,DataSourceUpdateMode.OnPropertyChanged); this.comboBox1.DataBindings.Add (new System.Windows.Forms.Binding ("SelectedItem",true)); this.comboBox1.DataBindings.Add (new System.Windows.Forms.Binding ("SelectedValue",true)); } 解决方法
注释掉SelectedItem版本,并像这样修改SelectedValue绑定以包含UpdateMode:
this.comboBox1.DataBindings.Add(new Binding( "SelectedValue",DataSourceUpdateMode.OnPropertyChanged)); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |