У меня есть вопросы по поводу наследования UserControl в проекте WinForm.
У меня есть несколько указанных c панелей, которые являются различными страницами моего приложения. Но у этих указанных c панелей есть некоторый общий код, повторяемый внутри каждой из этих панелей.
Поэтому я хочу закодировать их общее поведение в классе StdPanel, унаследованном от UserControl, и тогда каждая указанная c страница будет наследоваться от стандартная панель.
конкретная панель:
public partial class SpecificPanel1 : StdPanel
{
public SpecificPanel1 () : base()
{
InitializeComponent();
}
}
стандартная панель:
public partial class StdPanel: UserControl
{
public StdPanel()
{
InitializeComponent();//Keeping this line or not?
}
private void StdPanel_VisibleChanged(object sender, EventArgs e)
{
if (Visible)
{
//do stuff...
}
}
}
мои вопросы:
мои вопросы: я хочу сделать что-то когда StdPanel_VisibleChanged, я провел много испытаний, и я понимаю, что InitializeComponent () необходим для того, чтобы событие StdPanel_VisibleChanged работало. Сначала я хотел удалить InitializeComponent () из StdPanel, потому что GUI выполняется в SpecificPanel1, и я подумал, что в этом нет необходимости.
Так есть ли у SpecificPanel1 два GUI?
Как эти два GUI вложены? Они присутствуют на экране, а один скрывает второй?
Спасибо