BindingListクラスのメソッドResetBindings()で更新通知を飛ばせる。ResetItem()の方が速度は速いがリストの項目が少ないなら前者で問題ない
ListBoxのインスタンスに対しキャストを使ってメソッドにアクセスしている点に注目
void ReturnParam()
{
((EditArea)listBox1.SelectedItem).Name = _ui.Name;
((EditArea)listBox1.SelectedItem).FileName = _ui.FileName;
((EditArea)listBox1.SelectedItem).X = _ui.X;
((EditArea)listBox1.SelectedItem).Y = _ui.Y;
((BindingList<EditArea>)listBox1.DataSource).ResetBindings(); //BindingListクラスのメソッドResetBindings()で更新通知を飛ばさないとリストボックス側が更新されない
//((BindingList<EditArea>)listBox1.DataSource).ResetItem(listBox1.SelectedIndex-1); //こちらのやり方もある
//listBox1.Invalidate(); //表示側の更新はいらない
}
最終更新:2012年08月23日 00:24