Я новичок в формах Windows, и у меня проблема с обработкой всех пользовательских элементов управления. У меня есть 3 пользовательских элемента управления, и когда я нажимаю кнопку подтверждения, я перехожу на второй экран (пользовательский элемент управления 2), но затем, когда я нажимаю кнопку «Отмена» на втором экране, он возвращает меня к первому экрану (я загружаю первый снова пользовательский элемент управления) теперь проблема заключается в том, что при повторном нажатии кнопки «Принять» пользовательский элемент управления приветствия возвращает ноль и ошибки.
private void Viewer_Load (отправитель объекта, EventArgs e)
{
formPanel.Controls.Clear ();
formPanel.Controls.Add (вэй);
}
private void SwapControls(object sender, EventArgs e)
{
if (formPanel.Controls.Contains(wel))
{
formPanel.Controls.Remove(wel);
formPanel.Controls.Add(p);
}
else if (formPanel.Controls.Contains(pin) && IsAuthenticated)
{
formPanel.Controls.Remove(p);
formPanel.Controls.Add(m);
}
else if(formPanel.Controls.Contains(pin) && !Global.IsAuthenticated)
{
formPanel.Controls.Remove(p);
formPanel.Controls.Add(wel);
}
Таким образом, в первый раз он загружает желаемый пользовательский элемент управления, затем я нажимаю «Принять», и он очищает пользовательский элемент управления и загружает второй «Ввод Pin Control», после чего я нажимаю «Отмена». удалить этот пользовательский элемент управления и загрузить снова Добро пожаловать. НО теперь, когда я нажимаю Принять, я получаю ноль в этой строке в элементе управления приветствия пользователя
this.AddControl(this, new EventArgs());
Опять же, я новичок в формах Windows, и я учусь, любые отзывы будут высоко ценится.