Я новичок в C# WinForms. Я создал класс (EnhancedForm), который наследует класс Form. В EnhanceForm я поставил некоторые общие функции (например, проверки, общие используемые объекты, такие как DataTable и строковые переменные и т. Д., Так что мне может не понадобиться повторять код снова и снова в формах), которые я хочу использовать во всех формах, а затем все мои формы наследуют это (EnhancedForm).C# WinForms, что это за странная ошибка?
В DAL (отдельная библиотека классов) У меня есть класс CommonDB, который имеет общие функции, связанные с БД. Для связи с базой данных я делал объект CommonDB во всех формах. Я подумал о том, чтобы добавить CommonDB в EnhancedForm, чтобы мне не пришлось создавать его объекты во всех классах.
Вот что-то происходит, что я не мог понять. Приложение работает нормально. Но если я попытаюсь открыть форму в представлении дизайна, она даст ошибку. «Ссылка на объект не установлена в экземпляр объекта». Я не мог просмотреть форму в режиме разработки. Если я удалю объект CommonDb из EnhancedForm и поместил его в отдельные формы, он отлично работает и позволяет просматривать формы.
Если я компилирую и запускаю эту ошибку, не появляется. Пожалуйста, помогите мне в этом.
Благодаря
Я не знаю о последних версиях VS/.NET (мы все еще работаем в 2005 году), но свойство DesignMode, кстати, не работает вообще. Надеюсь, они это исправили. –
Спасибо Хенку за руководство, но странно, что это происходит со всеми формами. Предположим, что я использовал объект CommonDB в форме1, но проектировал все формы, которые были у него. Во-вторых, в EnhancedForm я сделал funtion, чтобы закрыть форму, если пользователь нажал клавишу escape. Если я начну использовать Commondb, эта функция перестанет работать. Я не понимаю, где я ошибаюсь. – haansi
Даже при загрузке формы я повторно создаю Commondb, но проблема остается. Перед тем, как позвонить, я даже положил, если не равен нулю, но результаты одинаковы. Plz совет. – haansi