Winforms绑定问题

Dou*_*unk 13 .net c# data-binding collections winforms

我对胜利形式的约束相对较新.为了学习该主题,我设置了以下测试应用程序.a ListBox和a的基本winform Button.

public partial class Form1 : Form
{
    public List<String> stringList = new List<String>();

    public Form1()
    {
        InitializeComponent();
        stringList.Add("First");
        listBox1.DataSource = stringList;
    }

    private void button1_Click(object sender, EventArgs e)
    {
        stringList.Add("Second");
    }
}
Run Code Online (Sandbox Code Playgroud)

字符串"First"显示在listBox1应用程序启动时.但是,当我按下向stringList新项目添加新字符串的按钮时,未显示listBox1.任何人都可以帮我理解收集数据绑定的基础知识吗?

Ale*_*Aza 13

替换List<String>BindingList<String>.

所述的BindingList类可以用来作为基类来创建一个双向数据绑定机制.BindingList提供了IBindingList接口的具体通用实现.

List<T>class不提供有关集合更改的任何通知.所以没有办法ListBox知道添加了一个新元素.但是,如果使用实现IBindingList接口的集合,则ListBox会订阅ListChanged事件.这就是知道何时刷新自己的方式.