vb.net组合框隐藏项目

时间:2014-11-24 01:21:16

标签: vb.net combobox

我有一个组合框,当选择项目并且它与button.text相同时,其他形式的button.text会更改用户在文本框中键入的名称。但是如果项目与button.text不同,我想隐藏它,因此用户无法选择或看到它。

cafetariacombo是组合框.Formin3.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时,只需要用已删除的项目保存组合框。

1 个答案:

答案 0 :(得分:2)

您可以使用DataTable作为数据源,然后就像更改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