UserControl Property - bindable

Hi,

I have created a Scrollable Control which has certain properties. One among them is a LinesStyle property which gets or sets an int value. This prooperty will be set through the desginger UI.

In the designer UI, I would like to have a small list box for this property which will contian values from 0 to 5 so that the designer cannot set values out of this range.

I could not get how to do this, even after setting the ListBindable(true).

Please let me know.

Thanks and Regards
Murali
bmmohanAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

TheAvengerCommented:
What about if you make it to be of an enumeration type and put in 5 values in the enumeration?
0
bmmohanAuthor Commented:
Hi  TheAvenger

Can you please eloborate this with some sample code?

Thanks and Regards
Murali
0
TheAvengerCommented:
Something like:

public enum LinesStyles {
  SuperThin = 0,
  VeryThin = 1,
  Thin = 2,
  Normal = 3,
  Thick = 4,
  VeryThick = 5
}

And then change the type of your property from int to LinesStyles. You can still use it in your code as int by casting it like:

int i = 1 + (int)this.lineStyle;
0
purpleblobCommented:
This is a very simple example of creating and using an enum. Place the public enum inside your control's class. m_LineStyle is a private member variable and obviously the Style property should be public. I've excluded code to force a redraw and check whether the value's actually changed.

public enum LineStyle
{
None,
Solid,
Dot      
}

private LineStyle m_LineStyle;

public LineStyle Style
{
   get { return m_LineStyle; }
   set { m_LineStyle = value; }
}
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
bmmohanAuthor Commented:
Hi TheAvenger and  purpleblob,

Thanks for the solution. It was very simple. I could do it successfully.

Thanks and Regards
Murali
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
C#

From novice to tech pro — start learning today.