代码之家  ›  专栏  ›  技术社区  ›  Andrey Kaplun Viju

如何使用Combobox加载列表框

  •  0
  • Andrey Kaplun Viju  · 技术社区  · 6 年前

    问题是它不会一次加载一个,而是自己复制一个

            private void positionIDComboBox_SelectedIndexChanged(object sender, EventArgs e)
            {
            if (positionIDComboBox.SelectedValue!=null)
            {
                try
                {
    
                    contactPositionListBox.Items.Add(positionIDComboBox.SelectedValue);
    
                }
                catch (Exception ex)
                {
    
                    MessageBox.Show(ex.Message, ex.GetType().ToString());
                }
            }
    
    
        }
    

    enter image description here

    我如何让列表框显示一个字符串值,但要从组合框中添加一个int值我试图用数据库中的值填充列表框数据源,但我无法让组合框填充列表框

    3 回复  |  直到 6 年前
        1
  •  0
  •   AmirAli Eshghi    6 年前

    您可以在添加之前进行检查

    if (!contactPositionListBox.Items.Contains(positionIDComboBox.SelectedValue))
        contactPositionListBox.Items.Add(positionIDComboBox.SelectedValue);
    
        2
  •  0
  •   McNline    6 年前

    要获取文本,请使用:

     contactPositionListBox.Items.Add(positionIDComboBox.Text);
    

    为了也有一个ID,我会使用listview

            var lvItem = new ListViewItem(positionIDComboBox.Text);
            lvItem.Tag = positionIDComboBox.SelectedValue
            contactPositionListView.Items.Add(lvItem);
    

    停止重复项

            if (!contactPositionListView.Items.Contains(lvItem))
            {
                contactPositionListView.Items.Add(lvItem);
            }
    

    然后可以使用标记从组合中获取索引

    或者,使用ListView并将Id放在第二列中

        3
  •  0
  •   Andrey Kaplun Viju    6 年前

    我不得不将活动更改为

    private void contactIDComboBox1\u SelectionChangeCommitted(对象发送方,事件参数e)