У меня есть экран формы Windows с пристыкованной с левой стороны формы строкой меню, аналогичной Outlook 2003, и панель, занимающая оставшуюся часть правой части формы.
Мое левое меню содержит пункты.Нажав на эти элементы, я хочу загрузить соответствующий пользовательский элемент управления (действующий как «подформы») на правой боковой панели.Мне удалось это сделать, и он работает хорошо.
Хотя меня беспокоит то, правильно ли располагаются мои пользовательские элементы управления или они остаются в памяти, когда пользователь щелкает другой элемент меню (и как таковой)., загружает другой usercontrol / subform).
Код похож на этот:
private void ultraExplorerBar1_ItemClick(object sender, Infragistics.Win.UltraWinExplorerBar.ItemEventArgs e)
{
panel1.Controls.Clear();
if (e.Item.Key == "Action")
{
ActionUserControl subForm = new ActionUserControl();
panel1.Controls.Add(subForm);
subForm.Show();
}
else if (e.Item.Key == "Options")
{
OptionsUserControl subForm = new OptionsUserControl();
panel1.Controls.Add(subForm);
subForm.Show();
}
}
Я не уверен, если Panel1.Controls.Clear () я звоню в началеэтого метода достаточно для того, чтобы пользовательские элементы управления больше не использовались для своевременного сбора мусора?
Насколько я понимаю, не должно быть никаких ссылок на него в приложении после его удаления из панели.но я не уверен, стоит ли мне делать что-то еще или использовать достаточно легкий инструмент, который я мог бы использовать для подтверждения того, что мои подчиненные формы расположены так, как они должны, и что это не вызывает какую-то утечку памяти / ресурсов?