Элементы управления базовой формы не видны в дочерней форме
Я использую C#.Net и имею базовую форму, которая наследуется несколькими формами.
До вчерашнего дня, когда дочерняя (производная) форма была открыта в конструкторе, базовые элементы управления отображались и показывались как заблокированные.
Теперь, однако, форма просто пуста. Ни один из базовых элементов управления форм не отображается в конструкторе. Все компилируется, собирается и работает нормально.
Кто-нибудь еще видел это?
Я пытался разместить вызов метода InitializeComponent базовых форм в методе OnLoad производных форм, но безрезультатно.
2 ответа
Нашел решение в ТАКОМ сообщении я не видел до публикации вопроса.
По сути, мне нужно было позвонить InitializeComponent()
в приватном конструкторе без аргументов моей базовой формы.
private ItemSelectForm()
{
InitializeComponent();
}
Базовая форма должна быть перестроена.
Исчезновение моих контролей из формы - это тоже пережитый мной опыт. Я читал, что где-то, возможно, в MSDN, не изменяйте InitializeComponent(), но оставляйте его нетронутым и неизменным на машине для компиляции этой части кода. Ну, я часто присоединял, изменял и забирал делегатов, успешно, внутри метода InitializeComponent(), но на этот раз я хотел передать в него параметр: InitializeComponent(строка x), чтобы по незнанию дать другое имя элементу управления о том, что элементы управления исчезнут из поля зрения, оставаясь при этом действующими во время выполнения. После прочтения этой страницы я забрал этот маленький параметр x и попытался выполнить работу вне метода InitializeComponent(), и элементы управления снова появились сразу. Надеюсь, это поможет, даже если у меня нет обширного кода, чтобы добавить и причины, чтобы дать.