2014-11-24 5 views
0

콤보 상자가 있습니다. 항목을 선택하고 다른 양식의 button.text와 같으면 사용자가 텍스트 상자에 입력 한 이름에 대해 button.text가 변경됩니다. 그러나 항목이 button.text와 다른 경우 숨기려고하므로 사용자가 선택하거나 볼 수 없습니다.vb.net 콤보 상자 숨기기 항목

cafetariacombo이 콤보
Form3.cafetaria2.Text 내가 버튼을 이름이 사용 나는

If cafetariacombo.SelectedItem = "cafetaria2" Then 
       Form3.cafetaria2.Text = TextBox1.Text 
       My.Settings.cafetaria2guardar = Form3.cafetaria2.Text 
       My.Settings.Save() 
end if 

을 변경하고있어 버튼입니다, 난 그냥 콤보 상자 항목을 숨길 수 있는지 알 필요가있다.

제가 콤보 상자에 자신 항목의 목록을 삽입하는 코드

업데이트 :) 제발 도와주세요. 이전 문제는 해결했지만 지금은 양식을 닫을 때 콤보 상자 항목의 상태를 저장해야합니다.

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
      If cafetariacombo.SelectedItem <> Form3.cafetaria1.Text Then 
     cafetariacombo.Items.Remove("cafetaria1") 
    End If 

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    If ComboBox2.SelectedItem = Form3.cafetaria1.Text Then 
     Form3.cafetaria1.Text = "cafetaria1" 
     My.Settings.cafetaria1guardar = Form3.cafetaria1.Text 
     My.Settings.Save() 
     adicionarproduto.cafetariacombo.Items.Add("cafetaria1") 
    end if 
    end sub 

콤보 상자에서 항목을 제거하면 form1에 있고 항목을 다시 추가 할 때 form2에 있습니다.
form1에서 나갈 때 삭제 된 항목으로 콤보 상자를 저장하면됩니다.

당신은 데이터 원본으로 DataTable을 사용할 수 있습니다

+0

당신 "숨기기"콤보 상자의 항목을하지 않음으로써를 아이템 컬렉션에 포함시킨다. 유일한 방법. –

+0

'cafeteriacombo.Items.Remove ("cafeteria2")'를 사용하여 "cafeteria2"항목을 제거 할 수 있습니다. –

답변

1

가, 다음은 DefaultView.RowFilter 변경 등으로 쉽게,이 예제를 공부하고 질문이 있으면 알려 주시기 바랍니다 :

Public Class Form1 

    Private Sub Button1_Click(sender As System.Object, 
          e As System.EventArgs) Handles Button1.Click 
    Dim dt As New DataTable 
    dt.Columns.Add("id") 
    dt.Rows.Add("1") 
    dt.Rows.Add("2") 
    dt.Rows.Add("3") 
    ComboBox1.DisplayMember = "id" 
    ComboBox1.DataSource = dt 'show all items by default 
    End Sub 

    Private Sub Button2_Click(sender As System.Object, 
          e As System.EventArgs) Handles Button2.Click 
    DirectCast(ComboBox1.DataSource, DataTable).DefaultView. 
     RowFilter = "id <> 2" 'hide item=2 from the view 
    End Sub 

End Class 
+0

직접 해보신 후 이해가 안되셨습니다./DataTable을 데이터 소스로 사용하면 다음과 같이 할 수 있습니까? 예 : 'Combobox1.item = "snacks1"= form3.snacks1.text이면 combobox1.item = "snacks1"다른 것을 보여줍니다. Combobox1.item = "snacks1"은 끝내지 않습니다.'이것은 작동하지 않지만, ofc하지만 희망합니다. 나는 너와 내가하고 싶은 것에 대한 아이디어를 준다. – user3740783

+0

@ user3740783 : 어떻게 콤보 박스에 항목을 추가하나요? 질문에 관련 코드를 추가하십시오. DataTable 데이터 소스를 사용하여 코드를 변경하는 방법을 보여주기 위해 코드를 업데이트합니다. – Neolisk

+0

@ user3740783 : '항목 목록을 콤보 상자에 직접 삽입했습니다.'- 관련 코드를 추가하십시오. 나는'.Items.Add' 또는 이와 비슷한 것을 말하는 조각을 찾고 있습니다. 또한 원하는 동작의 스크린 샷을 추가하면 약간 설명하는 데 도움이 될 수 있습니다. – Neolisk