난 그냥이 시도하고 나를 위해 완벽하게 작동 :
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
는 "작동하지 않습니다"라는 결코 적절하다. 일어날 일을 항상 설명하고, 그것이 분명하지 않은 경우 어떻게 그것이 당신의 기대와 다른지 설명하십시오. 오류 메시지가 있으면이를 제공하십시오. – jmcilhinney
죄송합니다. 음 .. 아무 일도 일어나지 않습니다.이 코드는 일반적인 콤보 박스에서는 작동하지만 툴팁 콤보 박스에서는 작동하지 않습니다. 값을 변경하면 시작시 다시 기본값이됩니다. 새 값을 설정에 저장할지 여부를 테스트하는 것을 잊었습니다. 그러나 정상적인 콤보 박스에 대해서도 그 일을 suxx :/.. – mademyday