2017-11-06 4 views
0

나는 시각적 인 스튜디오에 대해 상당히 새로운 경험이 있습니다. 나는 드롭 다운 목록 cb_CBOX1 & 드롭 다운 목록 cb_CBOX2와 2 양식이 있습니다. 사용자가 cb_CBOX1에 데이터를 추가하고 데이터를 cb_CBOX1 드롭 다운에서 사전 순으로 삽입하고 cb_CBOX2 드롭 다운 목록에서 사전 순으로 삽입하도록합니다.드롭 다운 콤보 상자에 데이터 삽입

다음 문장을 사용하려고합니다. TIA

cb_CBOX2.Items.Add(cb_CBOX1.Text) 

업데이트 2017년 11월 7일 :

내가 두 형태가 모두 드롭 다운 목록 콤보가 있습니다. 사용자가 cb_CBOX1에 데이터를 삽입하고 데이터를 cb_CBOX1 드롭 다운에 사전 순으로 추가하고 cb_CBOX2 드롭 다운에 사전 순으로 추가하도록합니다. 사용자가 cb_CBOX1에서 데이터를 입력하면 button1을 클릭하여 Add 함수를 호출합니다.

내 코드 : 콤보 상자에 사용자 유형이 다른 창에 combobox2에 나타납니다 무엇이든

Private Sub button1.Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.Click 

    cb_CBOX2.Items.Add (cb_CBOX1.Text) 

End Sub 
+0

잘 모르겠습니다. 질문을 올바르게 이해합니다. 두 번째 형식은 무엇을하고 있습니까? "데이터를 알파로 삽입"이란 무엇입니까? 무슨 소리 야? – Chillzy

+0

무엇이 문제입니까? 언제 Add 함수를 호출합니까? 제발 좀 더 자세히 설명해주세요. – dwilliss

답변

0

항목을 추출하고 새 항목을 추가 한 다음 정렬하고 항목을 다시 적용합니다. 그것은 Linq와 상당히 간단합니다.

Private Sub button1_Click(sender As Object, e As EventArgs) Handles button1.Click 
    addToAndSortComboBox(cb_CBOX1, cb_CBOX1.Text) 
    addToAndSortComboBox(cb_CBOX2, cb_CBOX1.Text) 
    cb_CBOX1.Text = "" ' optional 
End Sub 

Private Sub addToAndSortComboBox(cb As ComboBox, value As String) 
    Dim items = cb.Items.Cast(Of String).Concat({value}).OrderBy(Function(v) v).ToList() 
    cb.Items.Clear() 
    cb.Items.AddRange(items.ToArray()) 
End Sub 

디자인에 대한 의견 : 매우 직관적이지는 않습니다. ComboBox.DropDownStyle = DropDownList을 가진 ComboBoxes가있는 TextBox에서 입력을 수행해야한다고 생각합니다.

+0

완벽하게 작동했습니다! 고마워요 – DMil

+0

위의 코드가 내 응용 프로그램에서 작동하는 동안 응용 프로그램이 닫히면 입력 된 데이터가 cb_CBOX1 & cb_CBOX2에서 제거됩니다. 데이터를 cb에 추가하고 cb_CBOX1 & cb_CBOX2의 드롭 다운 목록에 영구적으로 추가해야합니다. – DMil

+0

물론 가능합니다. 애플리케이션에 영구 데이터를 어떻게 저장합니까? – djv

0

당신이 목록에 데이터를 추가 할 수 있도록하려는 것 소리?

목록에 콤보 상자를 바인딩 한 다음 두 콤보 상자의 항목 소스를이 목록에 설정하는 것이 좋습니다.

목록을 작성하고 다른 창에서 액세스 할 수 있도록 클래스에서 참조 ... CB2에 목록 바인딩

Dim comboboxitemlist As New List(Of String) 

... A의

cb_CBOX2.itemssource = comboboxitemlist 

버튼을 누르거나 추가하는 중 ...

comboboxitemlist.add(cb_cbox1.text) 
+1

질문이 WPF처럼 보이지 않습니다. – LarsTech