Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Наследование формы


Автор: NilovSerge 14.6.2008, 18:13
Всем привет

Я определяю свою форму как
Код

public partial class ListEdtiorFrm : Form


И если я создаю еще форму унаследова ее от ListEdtiorFrm
Код

public partial class ObjectListEditorFrm : ListEdtiorFrm

то в ObjectListEditorFrm я получаю форму в которую я не могу добавлять другие компоненты Это ограничение при наследование форм
или это можно сделать как-то по другому?


   Заранее спасибо

Автор: mihryak 15.6.2008, 01:58
добавлять можешь, но не в дизайнере
так уж он устроен..
для юзер-контролов, кста, то же самое

Автор: Veitmen 16.6.2008, 06:00
Хм. Почему не может то? Можно это делать... Кидаешь на родительскую форму панель на которой хочешь добавлять контролы и делаешь ее паблик. Теперь работаешь в дизайнере.

Автор: NilovSerge 17.6.2008, 15:13
Veitmen, спасибо помогло.
но возникла новая проблема:
Есть:
Код

public abstract partial class ListEdtiorFrm : Form


и 
Код

public partial class LanguagesEditorFrm : NLib.ListEdtiorFrm


У меня при попытке открыть окно в LanguagesEditorFrm в дизайнере вываливается ошибка:
The designer must create an instance of type 'NLib.ListEdtiorFrm' but it cannot because the type is declared as abstract. 

естественно в дизайнере я работать не могу - хотя окно нормально запускается

ListEdtiorFrm - лежит в отдельном проекте NLib(dll)

Немного странно : я в 2х VisualStudio открывал 2 проекта : dll-ку с ListEdtiorFrm и сам проект с LanguagesEditorFrm
Поначалу ListEdtiorFrm не был абстракный - и я успешно работал с обоими классами
Потом переделал ListEdtiorFrm в абстрактный - тоже оба нормально работали А после перезапуска компютера полезла ошибка...

Как это побороть?
И могу ли я унаследоваться от формы обьявленной абстрактной?

Автор: Partizan 19.6.2008, 10:29
Цитата

и делаешь ее паблик


я бы всё-таки рекомендовал делать их protected а не public...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)