using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; namespace MyCompany.WinUI.MyClasses { public class MyComboBox : System.Windows.Forms.ComboBox { public MyComboBox() { // Override settings with new default values in the constructor. this.DropDownStyle = ComboBoxStyle.DropDownList; } } }~~Bonnie
>using System; >using System.Drawing; >using System.Collections; >using System.ComponentModel; >using System.Windows.Forms; >using System.Data; > >namespace MyCompany.WinUI.MyClasses >{ > public class MyComboBox : System.Windows.Forms.ComboBox > { > // Override inherited settings with new default values. > public new ComboBoxStyle DropDownStyle = ComboBoxStyle.DropDownList; > } >} >>Without the new keyword, the compiler tells me I'm hiding an inherited member and if that is the intended behavior, I should use new. So, while this compiles fine, when I try to use this control on a WinForm in another project, that property still defaults to DropDown (not DropDownLlist). I'm sure it has to be something simple I'm missing. By the way, I built this in a class project instead of a component project, does that make a difference?