Я работаю в проекте winforms C#, и у меня есть пользовательский элемент управления, который загружается при его выборе из меню инструментальной полосы. У меня есть набор поиска словаря, который возникает при загрузке формы пользовательского элемента управления для других функций. Кроме того, когда я закрываю пользовательский элемент управления, я просто использую «.Hide();» метод. Я заметил, что когда я загружаю пользовательский элемент управления в первый раз, все в порядке, но когда я его закрываю и выбираю, чтобы открыть его снова, второй раз он создает новый экземпляр объекта, отбрасывая мой поиск в словаре. Поэтому я написал код, чтобы исправить проблему.Динамически созданный пользовательский элемент управления в C#
Что мне нужно сделать, так это сказать, что если экземпляр пользовательского элемента управления уже существует, не создавайте новый экземпляр этого объекта. Вместо этого просто сделайте управление пользователем видимым снова. Поэтому я написал код в попытке выполнить эту задачу. Когда я выбираю элемент в первый раз, все в порядке. Когда я скрываю пользовательский элемент управления и пытаюсь его снова открыть, ничего не происходит.
Ниже приведен код, который я написал для этой цели, которая происходит при выборе пункта из меню инструментов полосы:
if (Controls.ContainsKey("CheckAvailUserControl"))
{
Controls["CheckAvailUserControl"].Dock = DockStyle.Fill;
Controls["CheckAvailUserControl"].Visible = true;
Controls["CheckAvailUserControl"].Show();
Controls["CheckAvailUserControl"].Refresh();
}
else
{
UserControl checkAvailUserControlLoad = new CheckAvailUserControl();
Controls.Add(checkAvailUserControlLoad);
checkAvailUserControlLoad.Dock = DockStyle.Fill;
checkAvailUserControlLoad.Visible = true;
checkAvailUserControlLoad.Show();
}
Когда я проследить через мой код в отладчике он является на самом деле попав в правильные части вышеприведенного оператора if/else. Его просто не отображает пользовательский элемент управления на экране во второй раз, когда я пытаюсь его загрузить.
Вопрос: Как я могу получить правильное управление пользователем после его закрытия, а затем снова выбрать его из меню инструментальной полосы?
Какой вопрос? –
Вопрос: Как я могу правильно настроить пользовательский элемент управления после его закрытия, а затем снова выбрать его из меню инструментальной полосы? –