Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Custom Control help
Message
From
27/06/2007 03:11:21
 
 
To
27/06/2007 00:52:32
General information
Forum:
ASP.NET
Category:
Class design
Environment versions
Environment:
VB 8.0
Miscellaneous
Thread ID:
01235431
Message ID:
01235924
Views:
19
Oh, bother. I can see another flaming thread forming here...

Bonnie, does this kind of inheritance model (exception) make sense to you? And if it does, why? I don't personally see what the reason might possibly be, but then again, what do I know.

Maybe I'm missing something (big) here, but I can't see why the HECK I can't simply and codelessly overwrite parent class' properties like ReadOnly and Enabled and Font in a child class. It is sooooo counterintuitive and annoying to me to have to keep these kinds of exceptions in my already overloaded memory banks. Wasted storage, as far as I'm concerned. Isn't this one of the cornerstones of OOP inheritance: If a PEM is visible and accessible in the parent, it should be always and freely overrideable in the child. Period.

I am now tempted to say something about VFP's consistent OOP implementation, but I think I better not, because it could so easily sidetrack any possible follow-up discussion here. So, I'm hereby not saying anything about VFP's consistent OOP implementation.

Thanks.


Pertti


>I was going to suggest overriding the ReadOnly property, as some examples floating around here lately were showing with overriding the Font or BackColor properties. Unfortunately though, the ReadOnly property is not overridable. So, instead, create your own property and call it SetReadOnly, or something similar. We do that with our controls for the Enabled property, since it's not overridable either. Sorry for the C# code:
>
>
>public class MyTextBox : System.Windows.Forms.TextBox
>{
>	private bool m_SetReadOnly;
>
>	public MyTextBox
>	{
>		this.m_SetReadOnly = true;
>	}
>
>	[DefaultValue(true)]
>	public bool SetReadOnly
>	{
>		get {return this.m_SetReadOnly;}
>		set
>		{
>			this.m_SetReadOnly = value;
>			this.ReadOnly = value;
>		}
>	}
>}
>
>
>
>~~Bonnie
>
>
>
>>OK, now it is my turn to ask a question about custom controls... *ducks*
>>
>>Hopefully this is an easy one, as I think I am just misunderstanding what I am supposed to do. I created a class called MyTextBox, and inherited from System.Windows.Forms.TextBox, and I could place my custom control on the form. Now, to play around with it I tried to set some defaults, specifically setting ReadOnly = True. It didn't seem to carry forward into the control I dropped.
>>
>>Here is my code:
>>
>>Public Class MyTextBox
>>    Inherits System.Windows.Forms.TextBox
>>
>>    Public Sub New()
>>
>>        MyBase.New()
>>
>>        Me.ReadOnly = True
>>
>>    End Sub
>>
>>End Class
>>
>>
>>Any guidance? Thanks!
Pertti Karjalainen
Product Manager
Northern Lights Software
Fairfax, CA USA
www.northernlightssoftware.com
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform