Click here to Skip to main content
15,891,633 members
Home / Discussions / C#
   

C#

 
AnswerRe: User Control Question - Changing Location and Size Pin
Roger Wright1-Jan-10 4:33
professionalRoger Wright1-Jan-10 4:33 
GeneralRe: User Control Question - Changing Location and Size Pin
DaveyM691-Jan-10 5:10
professionalDaveyM691-Jan-10 5:10 
GeneralRe: User Control Question - Changing Location and Size Pin
Roger Wright1-Jan-10 22:06
professionalRoger Wright1-Jan-10 22:06 
GeneralRe: User Control Question - Changing Location and Size Pin
DaveyM692-Jan-10 2:59
professionalDaveyM692-Jan-10 2:59 
GeneralRe: User Control Question - Changing Location and Size Pin
Roger Wright2-Jan-10 5:17
professionalRoger Wright2-Jan-10 5:17 
AnswerRe: User Control Question - Changing Location and Size Pin
Nicholas Butler31-Dec-09 23:46
sitebuilderNicholas Butler31-Dec-09 23:46 
GeneralRe: User Control Question - Changing Location and Size Pin
Roger Wright1-Jan-10 4:25
professionalRoger Wright1-Jan-10 4:25 
AnswerRe: User Control Question - Changing Location and Size Pin
DaveyM6931-Dec-09 23:50
professionalDaveyM6931-Dec-09 23:50 
Sometimes you can override the base classes properties, other times it is necessary to replace them using the new keyword.

In the case of Size, Control uses another readonly property DefaultSize alongside to set the initial size so that needs to be dealt with too. I've never needed to change the Location property inside the control itself as it is normally accessed by the control's host for layout within it's client area - I can't think of a reason to need to replace the default behaviour of this property.

Here's an example using new, override and an additional property
C#
public class MyControl : Control
{
    public event EventHandler IDChanged;

    private static readonly Size MyDefaultSize = new Size(150, 50);

    public const int MaxID = int.MaxValue;
    public const int MinID = 0;

    private int id;

    // replaced property
    public new Size Size
    {
        get { return base.Size; }
        set { base.Size = value; }
    }
    // overriden (readonly) property
    protected override Size DefaultSize
    {
        get { return MyDefaultSize; }
    }
    // original property
    public int ID
    {
        get { return id; }
        set
        {
            if (value < MinID || value > MaxID)
                throw new ArgumentOutOfRangeException(
                    "ID",
                    string.Format(
                        "ID must be between {0} and {1}",
                        MinID, MaxID));
            if (id != value)
            {
                id = value;
                OnIDChanged(EventArgs.Empty);
            }
        }
    }

    protected virtual void OnIDChanged(EventArgs e)
    {
        EventHandler eh = IDChanged;
        if (eh != null)
            eh(this, e);
    }
}


Dave

BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)
Why are you using VB6? Do you hate yourself? (Christian Graus)

GeneralRe: User Control Question - Changing Location and Size Pin
Roger Wright1-Jan-10 4:28
professionalRoger Wright1-Jan-10 4:28 
Questionmultiple lines string Pin
Member 59031031-Dec-09 18:57
Member 59031031-Dec-09 18:57 
AnswerRe: multiple lines string Pin
Abhijit Jana31-Dec-09 19:30
professionalAbhijit Jana31-Dec-09 19:30 
GeneralRe: multiple lines string Pin
Member 59031031-Dec-09 19:42
Member 59031031-Dec-09 19:42 
GeneralRe: multiple lines string Pin
Nicholas Butler1-Jan-10 0:15
sitebuilderNicholas Butler1-Jan-10 0:15 
AnswerRe: multiple lines string Pin
Eric Dahlvang1-Jan-10 13:50
Eric Dahlvang1-Jan-10 13:50 
QuestionHow to display a 3D(WPF) in a WinFormApplication Pin
arucied31-Dec-09 14:37
arucied31-Dec-09 14:37 
AnswerMessage Closed Pin
31-Dec-09 19:39
stancrm31-Dec-09 19:39 
GeneralRe: How to display a 3D(WPF) in a WinFormApplication Pin
arucied1-Jan-10 17:41
arucied1-Jan-10 17:41 
QuestionConverting a nullable type to a non nullable type Pin
Jeroen De Dauw31-Dec-09 13:34
Jeroen De Dauw31-Dec-09 13:34 
AnswerRe: Converting a nullable type to a non nullable type Pin
Rob Philpott31-Dec-09 22:39
Rob Philpott31-Dec-09 22:39 
GeneralRe: Converting a nullable type to a non nullable type Pin
Jeroen De Dauw1-Jan-10 1:17
Jeroen De Dauw1-Jan-10 1:17 
AnswerRe: Converting a nullable type to a non nullable type Pin
Eric Dahlvang31-Dec-09 23:22
Eric Dahlvang31-Dec-09 23:22 
GeneralRe: Converting a nullable type to a non nullable type Pin
Jeroen De Dauw1-Jan-10 1:19
Jeroen De Dauw1-Jan-10 1:19 
GeneralRe: Converting a nullable type to a non nullable type Pin
Eric Dahlvang1-Jan-10 8:48
Eric Dahlvang1-Jan-10 8:48 
QuestionDrawing "on screen"? Pin
o m n i31-Dec-09 6:08
o m n i31-Dec-09 6:08 
AnswerRe: Drawing "on screen"? Pin
Giorgi Dalakishvili31-Dec-09 9:41
mentorGiorgi Dalakishvili31-Dec-09 9:41 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.