У меня есть два ListBox'а, привязанных к одному и тому же BindingList.
Проблема заключается в том, что при изменении выбранного элемента из графического интерфейса он меняет положение в BindingList, а затем BindingList сигнализирует другому ListBox об изменении его выбранного элемента.
Итак, у меня есть два синхронизированных элемента списка ListBoxes, что мне не подходит.
Я бы хотел синхронизировать список элементов. без позиции курсора.
Как отключить этот курсор, чтобы он не сохранялся?
пример кода (просто добавьте два ListBox в форму во время разработки, зарегистрируйте события SelectedIndexChanged и зарегистрируйте событие нажатия кнопки с помощью кнопки):
public partial class Form1 : Form
{
BindingList<string> list = new BindingList<string>();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
list.Add("bla1");
list.Add("bla2");
list.Add("bla3");
this.listBox1.DataSource = list;
this.listBox2.DataSource = list;
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (listBox1.SelectedIndex != -1)
System.Diagnostics.Trace.WriteLine("ListBox1: " + listBox1.SelectedItem.ToString());
}
private void listBox2_SelectedIndexChanged(object sender, EventArgs e)
{
if (listBox2.SelectedIndex != -1)
System.Diagnostics.Trace.WriteLine("ListBox2: " + listBox2.SelectedItem.ToString());
}
// Register this event to a button
private void button1_Click(object sender, EventArgs e)
{
list.Add("Test");
}
}
Спасибо,
--Ran.