для моего проекта я унаследовал ComboBox, чтобы изменить его размер. В дополнение к этому я хотел, чтобы ускорить создание моих форм, установить значение по умолчанию DropDownStyle
в ComboBoxStyle.DropDownList
Для этого я использовал команду [Default()]
, перезаписав свойство DropDownStyle
[DefaultValue(ComboBoxStyle.DropDownList)]
public new ComboBoxStyle DropDownStyle
{
get
{
return base.DropDownStyle;
}
set
{
base.DropDownStyle = value;
}
}
Затем я изменил значение по умолчанию в Designer, установив DropDownStyle
в ComboBoxStyle.DropDownList
.
И тут возникает проблема ...
Есть небольшое количество InheritedComboBox, которое я хочу иметь ComboBoxStyle.DropDown
, потому что они должны работать с
AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Append;
AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems;
Если я установил его из Designer, он работает нормально, однако иногда, после того, как я перестраиваю форму, он выдает исключение (также во время разработки) относительно ComboBoxStyle. Когда я смотрю на файл FormName.Designer.cs, я могу обнаружить, что для конкретного InheritedComboBox нет
DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDown
и я должен добавить его вручную.
Это немного скучно, потому что иногда я просто замечаю это во время выполнения, когда программа выдает исключение, не показывая форму, и я не могу проверять каждую форму каждый раз, когда перестраиваю ...
У вас есть идеи, почему у меня такое странное поведение?
Есть ли способ это исправить?
Большое спасибо за любой ответ!