2014-07-17 76 views
0

我只是设法让我的ToolstripComboBox显示一个数据源(字典)。vb.net - 将数据绑定添加到ToolstripComboBox

但现在我想添加一个DataBinding到SelectedValue属性,但我不工作。

对于它工作正常的ComboBox:/ ..

我的代码: tscbb_Test.ComboBox.DataBindings.Add( “的SelectedValue”,My.Settings, “从mySettings设置”)

人帮帮我?

+1

说“它不工作”是从来不足够的。总是解释发生了什么,如果不明显,那么这与预期有什么不同。如果有错误消息,请提供。 – jmcilhinney

+0

对不起队友..只是没有任何反应,确切的说这个代码适用于一个普通的组合框,但不适用于工具栏组合框。如果我改变了这个值,它又是默认值,我承认我忘了测试它是否会将新值保存到设置中。但是对于一个普通的combobox来说,它的工作方式也是如此,那有点suxx:/ .. – mademyday

回答

0

我只是尝试这样做,它完美地工作对我来说:

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 
+0

对不起兄弟,但它不适用于我,我只是做了一个新表格,从工具箱中添加了2个bindingsources,以及toolstripcombobox,它没有显示任何值,所以绑定无法测试。 至少我可以通过转动Combobox.BindingContext = Me.BindingContext使值可见。 不知道我做错了什么。 – mademyday

+0

大声笑,我只是做了一个新项目,然后它的工作,但我不知道为什么它不工作在我的主要项目Oo!? 很好看,如果你有更多的建议,这将是很好的说出来;)! 至今为止谢谢你! PS:也许它'因为即时通讯绑定到一个枚举? ToolstripComboBox.ComboBox.DataSource = System.Enum.GetValues(的GetType(EnumName)) – mademyday

+0

我的代码现在(没有工作:() (不知道如何使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

相关问题