如何将项添加到选定的列表框

本文关键字:列表 添加 | 更新日期: 2023-09-27 18:15:12

我有一个固定的列表框,其中包含固定的项。此外,我还创建了几个列表框。我想从固定列表框中添加一个选定项目到已创建的选定列表框之一。

我怎么知道哪个列表框实际被选中了?

对于每个创建的Listbox,我给它一个不同的Listbox . name。我想这可能对我有帮助,但我还是解决不了这个问题。

对于每个列表框,我试图创建一个单选按钮,但我不知道如何使用它与列表框

如何将项添加到选定的列表框

你可以尝试这样做:

public partial class Form1 : Form
{
    ListBox lstSelected = null;
    private void lb_Enter(object sender, EventArgs e)
    {
        lstSelected = (ListBox)sender;
    }
}

这个想法是这样的:对于每个listbox设置Enter事件为lb_Enter(),所以你总是在lstSelected var中选择listbox。
创建一个新的列表框时,可以使用

ListBox lst = new ListBox();
lst.Enter += lb_Enter;

通过检查控件的焦点,您可以检查控件是否已经有焦点但是我不知道你为什么要为每个列表框创建一个单选按钮?!

你需要一种方法来选择ListBox:

  1. 使用拖放(拖放显示被选中的列表框)
  2. 使用单选按钮或类似的东西将列表框标记为目标
  3. 为每个列表框使用单独的按钮来点击将项目移动到特定的列表框

没有标准的方法来管理这个,事实上,只有一个控件可以有焦点,所以同时选择一个列表框和选择一个项目将需要你做一个这样的结构。

要使用单选按钮,你必须在代码中找出哪个单选按钮被选中,然后决定哪个列表框属于这个单选按钮。

如果您需要具体的实现细节,请发布您的问题,代码和问题,以便我们查看。

取决于您希望如何实现列表框的选择。当你获得焦点时,你可以在父类上存储id。请参见输入事件。

public partial class Form1 : Form
{
    private string selectedListBox;
    public Form1()
    {
        InitializeComponent();

    }

    private void listBox1_Enter(object sender, EventArgs e)
    {
        selectedListBox = (sender as ListBox).Name;
    }
}

问候,Bogdan