Некоторые из моих форм показывают ошибки, когда я загружаю их в конструктор. Это потому, что в своих конструкторах они используют системные настройки, загруженные из файла конфигурации. Когда форма загружается в конструктор, она использует какой-то случайный путь, и неудивительно, что файл конфигурации отсутствует.
например.
Не удалось найти файл конфигурации C: \ Documents and Settings \ Rory \ Local Settings \ Application Data \ Microsoft \ VisualStudio \ 8.0 \ ProjectAssemblies \ it3dtcgg01 \ PrioryShared.dll.config.
Можно ли как-то справиться с этим, чтобы форма правильно отображалась в конструкторе?
например:
if (!inDesignerMode)
{
loadSettingsFromConfigFile();
}
UPDATE:
хорошо, я все еще получаю эту ошибку. Композиция такая:
В конструкторе MyCustomControl я поместил
if (!this.DesignMode)
{
// Get settings from config file <- this is where the error occurs
}
но именно в этой строке я все еще получаю ошибку в конструкторе. Что дает?
ОБНОВЛЕНИЕ: стоит отметить эту ссылку , которая описывает, как отлаживать элементы управления во время разработки.
UPDATE: Control.DesignMode не устанавливается в true при вызове в конструкторе ( MSDN ) объекта! Такого рода код должен идти в onLoad. В качестве альтернативы вы можете использовать такой подход, как this