Получите ли BindingList BindingSource или INOTIFYPORPERTYCHANGED?C#

Место общения программистов C#
Ответить
Anonymous
 Получите ли BindingList BindingSource или INOTIFYPORPERTYCHANGED?

Сообщение Anonymous »

У меня есть форма Winforms, которая определяет привязку . И этот список присваивается свойству DataSource ListBox.
Это работает довольно хорошо. Любые изменения, внесенные в список, также отражаются в списке. (Мой фактический код ниже.) Может ли кто -нибудь сказать мне, нужен ли мне какой -либо из них и выиграет ли мой код от любого из них? < /P>
public partial class Form1 : Form
{
BindingList Items { get; set; }

public Form1()
{
InitializeComponent();
Items =
[
new("First", 1, DateTime.Now),
new("Second", 2, DateTime.Now),
new("Third", 3, DateTime.Now),
new("Fourth", 4, DateTime.Now),
new("Fifth", 5, DateTime.Now),
new("Sixth", 6, DateTime.Now),
new("Seventh", 7, DateTime.Now),
new("Eighth", 8, DateTime.Now),
new("Nineth", 9, DateTime.Now),
new("Tenth", 10, DateTime.Now),
];
}

private void Form1_Load(object sender, EventArgs e)
{
listBox1.DataSource = Items;
}

private void AddButton_Click(object sender, EventArgs e)
{
EditForm form = new();
if (form.ShowDialog() == DialogResult.OK && form.Item != null)
{
int index = listBox1.SelectedIndex;
if (index < 0)
index = 0;
Items.Insert(index, form.Item);
listBox1.SelectedIndex = index;
}
VerifyList();
}

private void EditButton_Click(object sender, EventArgs e)
{
int index = listBox1.SelectedIndex;
if (index >= 0)
{
EditForm form = new() { Item = Items[index] };
if (form.ShowDialog() == DialogResult.OK && form.Item != null)
Items[index] = form.Item;
}
VerifyList();
}

private void DeleteButton_Click(object sender, EventArgs e)
{
int index = listBox1.SelectedIndex;
if (index >= 0)
Items.RemoveAt(index);
VerifyList();
}
}


Подробнее здесь: https://stackoverflow.com/questions/794 ... rtychanged
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»