Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Inheritance in vb.net
Message
 
À
17/10/2010 09:01:47
Information générale
Forum:
ASP.NET
Catégorie:
Formulaires
Versions des environnements
Environment:
VB 8.0
OS:
Vista
Network:
Windows XP
Database:
Jet/Access Engine
Application:
Desktop
Divers
Thread ID:
01485789
Message ID:
01485802
Vues:
44
Sounds promising. Btu if my "txtBase" can "implement" the interface, they can't "inherit" from textbox, can they?


>I would define an interface IIOEnable and have your subclassed controls implement that interface
>
>then - excuse the syntax - vb and c# mixture
>
>foreach ( Control ctrl in Me.Controls )
>{
>    IIOEnable ctrl1 = ctrl as IIOEnable ;
>    if( ctrl1 != null )
>         ctrl1.ioEnable(value);
>
>}
>
>
>
>
>
>>I have subclassed textboxes, panels and buttons. For each of those controls, I wrote an IOEnable method. I would like my (subclassed) form to execute these methods. I came up with something like this, which works, but am wondering if there is not a more generic approach to this, because now, each time I subclass a control I have to kind of "register" it here and in every container.
>>
>>For Each ctrl As Control In Me.Controls
>>     If TypeOf ctrl Is txtBase Then
>>         Dim ctrl1 As txtBase = ctrl
>>         ctrl1.ioEnable(value)
>>     End If
>>     If TypeOf ctrl Is pnlBase Then
>>         Dim ctrl1 As pnlBase = ctrl
>>         ctrl1.ioEnable(value)
>>     End If
>>     If TypeOf ctrl Is btnBase Then
>>         Dim ctrl1 As btnBase = ctrl
>>         ctrl1.ioEnable(value)
>>     End If
>> Next
>>
>>
>>In VFP this looked like this
>>
>>for each o in this.Controls
>>        if !pemstatus(o,'IOEnable',5)
>>            loop
>>        endif
>>        o.IOEnable()
>>    endif
>>endfor
>>

If things have the tendency to go your way, do not worry. It won't last. Jules Renard.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform