Код ниже выполняет привязку строк из CheckedListBox1
-а к свойствам Value
, которые в свою очередь связаны с TextBox
-ами. Подскажите пожалуйста, как в C# WinForms VS2010 исправить следующую проблему: значения Value
запоминаются только если строка из CheckedListBox1
-а принимает статус Unchecked
.Например, после привязки, для каждой строки из CheckedListBox1
вводятся значения в TextBox
-ы, и эти значения запоминаются только если строки попереключать, другими словами, если вводить данные в TextBox
-ы с текущим статусом строки Checked
для CheckedListBox1
-а, то они не запоминаются?
public class Person
{
public string Name { get; set; }
public string Value1 { get; set; }
public string Value2 { get; set; }
public string Value3 { get; set; }
}
private void btn1_Click(object sender, EventArgs e)
{
people = new BindingList<Person>();
foreach (var item in CheckedListBox1.Items)
{
Person p = new Person
{
Name = item.ToString(),
Value1 = TextBox1.Text,
Value2 = TextBox2.Text,
Value3 = TextBox3.Text,
};
people.Add(p);
}
var listBox = ((ListBox)CheckedListBox1);
listBox.DataSource = people;
listBox.DisplayMember = "Name";
TextBox1.DataBindings.Clear();
TextBox2.DataBindings.Clear();
TextBox3.DataBindings.Clear();
TextBox1.DataBindings.Add("Text", people, "Value1");
TextBox2.DataBindings.Add("Text", people, "Value2");
TextBox3.DataBindings.Add("Text", people, "Value3");
}
Перепишите привязка таким образом
TextBox1.DataBindings.Add("Text", people, "Value1",DataSourceUpdateMode.OnPropertyChanged);
Если вы не укажете OnPropertyChanged
,объект модели не будет обновляться,читайте тут
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Установлен СофтФон MicroSip, и при поступлении входящего звонка необходимо вытаскивать номер телефонаЧем в этом случае пользоваться?
Есть вот такая задача: Сгенерировать массив чисел, сумма которых составит 1Кол-во чисел вводится с клавиатуры