我只是設法讓我的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