Я создал несколько элементов управления, которые наследуются от UserControl для моего приложения Winform.Они оба имеют конструкторы без параметров, как требуется.Когда я перетаскиваю их в основную форму, во время разработки я получаю ошибку в Visual Studio, из-за которой не удается отобразить форму.
Я обнаружил, что в файле Designer.cs формы, где находится мой элемент управлениясоздается экземпляр, IDE помещает туда строку, которая вызывает один из моих сеттеров.BlockKey = 0
.Ну, код за сеттером вызывает другой код, и быстро генерируется исключение NullReferenceException, потому что форма не работает;этот другой код не готов произвести что-либо в этот момент.
Если я вручную удалю установочную строку, ошибка исчезнет.Но при закрытии и повторном открытии или повторной компиляции среда IDE снова возвращает строку.Я попытался украсить внутри UserControl установщик с помощью [DefaultValue(false)]
, подумав, что это подавит вызов во время разработки для установщика, но этого не произошло.
Как избавиться от этой строки в конструкторе?Или я должен вместо этого написать какой-нибудь предупредительный код внутри установщика?