2014-07-17 94 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

相關問題