1
這是我的項目:WinForms BindingSource PositionChanged事件引發兩次
在項目中創建一個新窗體。然後創建兩個按鈕和一個綁定源。
爲Button1寫這樣的代碼:
private void button1_Click(object sender, EventArgs e)
{
List<int> lst = new List<int>();
lst.Add(1);
lst.Add(3);
lst.Add(3);
this.bindingSource1.DataSource = lst;
}
爲BUTTON2寫這樣的代碼:
private void button2_Click(object sender, EventArgs e)
{
this.bindingSource1.DataSource = null;
}
然後添加一個PositionChanged事件BindingSource的,寫這個代碼:
private void bindingSource1_PositionChanged(object sender, EventArgs e)
{
MessageBox.Show("hi");
}
運行該應用程序並按下按鈕1。在button1中,我們將DataSource
設置爲列表,並且PositionChanged
正常啓動。沒關係。
然後按下按鈕2。我們只需將DataSource
設置爲空。但它顯示了兩條消息。您看到PositionChanged
事件被觸發兩次。
如果你也寫this.bindingSource1.Clear();
,也會出現這種情況。
這是怎麼發生的?