我只是设法让我的ToolstripComboBox显示一个数据源(字典)。vb.net - 将数据绑定添加到ToolstripComboBox
但现在我想添加一个DataBinding到SelectedValue属性,但我不工作。
对于它工作正常的ComboBox:/ ..
我的代码: tscbb_Test.ComboBox.DataBindings.Add( “的SelectedValue”,My.Settings, “从mySettings设置”)
能人帮帮我?
我只是设法让我的ToolstripComboBox显示一个数据源(字典)。vb.net - 将数据绑定添加到ToolstripComboBox
但现在我想添加一个DataBinding到SelectedValue属性,但我不工作。
对于它工作正常的ComboBox:/ ..
我的代码: tscbb_Test.ComboBox.DataBindings.Add( “的SelectedValue”,My.Settings, “从mySettings设置”)
能人帮帮我?
我只是尝试这样做,它完美地工作对我来说:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim table As New DataTable
With table.Columns
.Add("ID", GetType(Integer))
.Add("Name", GetType(String))
End With
With table.Rows
.Add(1, "Peter")
.Add(2, "Paul")
.Add(3, "Mary")
.Add(4, "John")
End With
Me.BindingSource1.DataSource = table
Me.BindingSource2.DataSource = table
With Me.ToolStripComboBox1.ComboBox
.DisplayMember = "Name"
.ValueMember = "ID"
.DataSource = Me.BindingSource1
.DataBindings.Add("SelectedValue", My.Settings, "ToolStripSelectedValue")
End With
With Me.ComboBox1
.DisplayMember = "Name"
.ValueMember = "ID"
.DataSource = Me.BindingSource2
.DataBindings.Add("SelectedValue", My.Settings, "FormSelectedValue")
End With
End Sub
我可以运行该项目,在每个ComboBox
选择不同的项目,关闭该项目,再次运行它,我之前选择的项目是再次选择,表示必须保存设置。
我只是尝试这个代码Keys
类型的两个设置,它的工作如预期:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim keys = [Enum].GetValues(GetType(Keys))
Me.BindingSource1.DataSource = keys
Me.BindingSource2.DataSource = keys
With Me.ToolStripComboBox1.ComboBox
.DataSource = Me.BindingSource1
.DataBindings.Add("SelectedItem", My.Settings, "ToolStripSelection")
End With
With Me.ComboBox1
.DataSource = Me.BindingSource2
.DataBindings.Add("SelectedItem", My.Settings, "FormSelection")
End With
End Sub
对不起兄弟,但它不适用于我,我只是做了一个新表格,从工具箱中添加了2个bindingsources,以及toolstripcombobox,它没有显示任何值,所以绑定无法测试。 至少我可以通过转动Combobox.BindingContext = Me.BindingContext使值可见。 不知道我做错了什么。 – mademyday
大声笑,我只是做了一个新项目,然后它的工作,但我不知道为什么它不工作在我的主要项目Oo!? 很好看,如果你有更多的建议,这将是很好的说出来;)! 至今为止谢谢你! PS:也许它'因为即时通讯绑定到一个枚举? ToolstripComboBox.ComboBox.DataSource = System.Enum.GetValues(的GetType(EnumName)) – mademyday
我的代码现在(没有工作:() (不知道如何使Vb的码标签:/) Me.BindingSource1 .DataSource = System.Enum.GetValues(的GetType(键)) tscb_Keys.ComboBox.BindingContext = Me.BindingContext tscb_Keys.ComboBox.DataSource = Me.BindingSource1 tscb_Keys.ComboBox.DataBindings.Add( “的SelectedValue”,My.Settings ,“SettingInMySettingsAs Integer?”) – mademyday
说“它不工作”是从来不足够的。总是解释发生了什么,如果不明显,那么这与预期有什么不同。如果有错误消息,请提供。 – jmcilhinney
对不起队友..只是没有任何反应,确切的说这个代码适用于一个普通的组合框,但不适用于工具栏组合框。如果我改变了这个值,它又是默认值,我承认我忘了测试它是否会将新值保存到设置中。但是对于一个普通的combobox来说,它的工作方式也是如此,那有点suxx:/ .. – mademyday