将列表数组中的值绑定到列表框

Har*_*ala 3 c# data-binding listbox winforms

任何正文都可以给出一个简短的例子,用于将列表数组中的值绑定到c#.net中的列表框

dig*_*All 13

这取决于列表数组的方式.

让我们从一个简单的样本开始:

List<string> listToBind = new List<string> { "AA", "BB", "CC" };
this.listBox1.DataSource = listToBind;
Run Code Online (Sandbox Code Playgroud)

这里我们有一个字符串列表,它将在列表框中显示为项目.

替代文字

否则,如果您的列表项更复杂(例如自定义类),您可以这样做:

例如,MyClass定义如下:

public class MyClass
{
    public int Id { get; set; }
    public string Text { get; set; }
    public MyClass(int id, string text)
    {
        this.Id = id;
        this.Text = text;
    }
}
Run Code Online (Sandbox Code Playgroud)

这是绑定部分:

List<MyClass> listToBind = new List<MyClass> { new MyClass(1, "One"), new MyClass(2, "Two") };
this.listBox1.DisplayMember = "Text";
this.listBox1.ValueMember = "Id"; // optional depending on your needs
this.listBox1.DataSource = listToBind;
Run Code Online (Sandbox Code Playgroud)

您将获得一个列表框,仅显示您的项目文本.同时设置ValueMember类的特定属性将listBox1.SelectedValue包含所选Id值而不是整个类实例.

NB
若未DisplayMember设置,您将获得ToString()列表条目的结果作为ListBox项目的显示文本.

替代文字