У меня есть следующая проблема, я создал пользовательский элемент управления C # с парой полей ввода.
Я реализовал 2 основных функции (Set_Data и Read_Data).Set Data Считывает некоторые данные из класса и отображает их в User_Control.
Read_Data: читает входное значение и сохраняет его в том же классе.
Эти функции протестированы и работают должным образом.
Но если я попытаюсь использовать тот же пользовательский элемент управления для сохранения данных в другом экземпляре того же класса, информация в первом классе также сохранит значения второго.Может быть, я просто делаю что-то не так.
private Data_Class DataClass1 = new Data_Class();
private Data_Class DataClass2 = new Data_Class();
private void btn_page1_Click(object sender, EventArgs e)
{
page = "page1";
UserControl1.set_Data(DataClass1);
UserControl1.BringToFront();
}
private void btn_page2_Click(object sender, EventArgs e)
{
page = "page2";
UserControl1.set_Data(DataClass2);
UserControl1.BringToFront();
}
private void check_pagechange_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
if (page != last_page)
{
if (last_page == "page1")
{
DataClass1 = UserControl1.read_Data();
}
if (last_page == "page2")
{
DataClass2 = UserControl1.read_Data();
}
last_page = page;
}
}
Как видно, я использую Backgroundworker, который читает Данные из Контроля пользователей, когда есть Pagechange.