user310291
user310291

Reputation: 38190

How can I add a combobox in control designer properties for a WinForms custom control?

I'm creating a custom control with a property that can take value from a set of strings like "Man, Woman". So in in control designer properties I want to show a combobox with these 2 choices.

Is there a standard way to do so ? If not what should I implement ?

Upvotes: 2

Views: 3559

Answers (2)

Andrei Pana
Andrei Pana

Reputation: 4502

As far as I remember, you should create an enum like:

enum Person
{
    Man,
    Woman
}

and then make your property of type Person. It should appear in properties as a drop down list.

Upvotes: 3

Cody Gray
Cody Gray

Reputation: 244732

The simple way to do that is to add an enum to your code that defines the possible choices for your property, then configure your custom control's property to accept a value of that type. The Properties Window will automatically display a combo box for this property with all of the possible values in your enum listed.

So, for example:

public enum Gender
{
    Man,
    Woman,
}

public class MyCustomControl : UserControl
{
    public Gender UserGender { get; set; }
}

Upvotes: 6

Related Questions