Элементы управления базовой формы не видны в дочерней форме

Я использую C#.Net и имею базовую форму, которая наследуется несколькими формами.

До вчерашнего дня, когда дочерняя (производная) форма была открыта в конструкторе, базовые элементы управления отображались и показывались как заблокированные.

Теперь, однако, форма просто пуста. Ни один из базовых элементов управления форм не отображается в конструкторе. Все компилируется, собирается и работает нормально.

Кто-нибудь еще видел это?

Я пытался разместить вызов метода InitializeComponent базовых форм в методе OnLoad производных форм, но безрезультатно.

2 ответа

Решение

Нашел решение в ТАКОМ сообщении я не видел до публикации вопроса.

По сути, мне нужно было позвонить InitializeComponent() в приватном конструкторе без аргументов моей базовой формы.

private ItemSelectForm()
{
    InitializeComponent();
}

Базовая форма должна быть перестроена.

Исчезновение моих контролей из формы - это тоже пережитый мной опыт. Я читал, что где-то, возможно, в MSDN, не изменяйте InitializeComponent(), но оставляйте его нетронутым и неизменным на машине для компиляции этой части кода. Ну, я часто присоединял, изменял и забирал делегатов, успешно, внутри метода InitializeComponent(), но на этот раз я хотел передать в него параметр: InitializeComponent(строка x), чтобы по незнанию дать другое имя элементу управления о том, что элементы управления исчезнут из поля зрения, оставаясь при этом действующими во время выполнения. После прочтения этой страницы я забрал этот маленький параметр x и попытался выполнить работу вне метода InitializeComponent(), и элементы управления снова появились сразу. Надеюсь, это поможет, даже если у меня нет обширного кода, чтобы добавить и причины, чтобы дать.

Другие вопросы по тегам