Click here to Skip to main content
12,403,130 members (72,255 online)
Rate this:
 
Please Sign up or sign in to vote.
See more: (untagged)
Hi Friends,

I have a text box in the windows form. Is there any way to add new property to that text box. The property like mandatory attributes are True and False. If set property Mandatory true .. the text box will show one red astrerik image.
Can i do like this....
Posted 27-Dec-12 19:45pm
Comments
   
What did you try?
—SA
   
What did you try so far?
Not clear what exactly do you want to achieve. How a property is related to attributes? (Probably you don't mean .NET attributes, but something else.) Anyway, I told you how to add a property, you think how to use it. Or ask a follow-up question, but try to be more clear then so far.
—SA
   
Ah, I got it. Please see my updated answer. Problem completely solved.
—SA
   
You confused me with your term "attributes". Remember, "Attribute" is a very certain and special thing in .NET, a way to pass additional metadata which can be read by Reflection. Learn about them; this is important stuff.
Good luck,
—SA
rajugknr 28-Dec-12 2:12am
   
Thanks
   
You are welcome. Are you thinking to accept the answer formally (green button)?
—SA

1 solution

Rate this: bad
 
good
Please Sign up or sign in to vote.

Solution 1

This control is nothing but a class, not a sealed one. So, naturally, you can create a derived class and add any property you want, as well as any other member:
class MyTextBox : System.Windows.Forms.TextBox {
    string MyNewProperty { get; set; }
    // ...
} // class MyTextBox

[EDIT]

Now, with your Mandatory you really need fully-fledged property features, such as the setter:

class MyTextBox : System.Windows.Forms.TextBox {
    internal bool Mandatory {
        get { return mandatory; }
        set {
            if (value == mandatory) return;
            mandatory = value;
            Invalidate(); // important step; that's why you need property
        }
    }
    bool mandatory;
    protected override void OnPaint(PaintEventArgs eventArgs) {
        base.OnPaint(eventArgs);
        if (mandatory) {
            RenderItOneWay(eventArgs.Graphics);
        } else {
            RenderItAnotherWay(eventArgs.Graphics);
        }
    }
    // ...
} // class MyTextBox

Got the idea?

—SA
  Permalink  
v6

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month


Advertise | Privacy | Mobile
Web01 | 2.8.160721.1 | Last Updated 28 Dec 2012
Copyright © CodeProject, 1999-2016
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100