begin process at 2010 02 10 06:23:52
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Windows

 > 

Formulaire / Winforms / Controls

 > 

Probléme de classes


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probléme de classes

lundi 24 novembre 2008 à 12:13:42 | Probléme de classes

Vianneyp

(Re)Bonjour,
J'ai un peu (beaucoup ?) de mal avec les classes et je souhaiterai vous poser quelques questions.
J'ai créer une classe dérivée de TabPage,que j'ai appelé ClsTab et ce dans le but de pouvoir charger un "modèle d'onglet" dans un TabControl.
Je procède de la maniéré suivante :
        Dim NewTab As New ClsTab
        TabControl1.TabPages.Add(NewTab )
L'onglet est ajouté sans aucun probléme.
Voici donc me première question : par quel miracle est-ce que j'arrive a ajouter ma classe ClsTab au TabControl en utilisant sa méthode add alors qu'aucune surcharge n'est prévue pour gérer le type ClsTab ? Est-ce qu'il y a "conversion" ?
C'est la même chose dans l'autre sens :
TabControl.TabPages(index As Integer) As System.Windows.Forms.TabControl
L'instruction : MsgBox TabControl1.TabPages(0).name affiche le nom du 1er onglet du TabControl,qui est aussi le nom donnée a chaque instance de ma classe ClsTab.Mon onglet est donc bien du type ClsTab et non du type TabPage.Le encore je ne comprend pas comment on passe de ClsTab a System.Windows.Forms.TabControl.D'ailleurs,en utilisant cette méthode,je n'ai accès qu'aux propriétés/méthodes communes a ClsTab et TabControl.
Merci d'avance pour ces quelques éclaircissements.
lundi 24 novembre 2008 à 14:17:17 | Re : Probléme de classes

nhervagault

Administrateur CodeS-SourceS
Réponse acceptée !
Salut,

C'est le principe de l'héritage en programmation objet.
Tu as un objet dont tu peux dériver pour ajouter des proprietes evenemet, ...
et il herite des proprietes de son parent

TabControl1.TabPages(0).name --> le name de tabpages stocke dans le parent

directcast(TabControl1.TabPages(0),gettype(ClsTab )).manouvelleprop --> la valeur de manouvelleprop
Il faut utiliser un cast pour aller sur l'enfant dans ce cas.

Il est conseillé de verifier si tu es bien dans le type ClsTab

Car rien empeche de faire
ClsTab
ClsTab1
ClsTab2

Dim NewTab1 As New ClsTab1
TabControl1.TabPages.Add(NewTab1 )
Dim NewTab2 As New ClsTab2
TabControl1.TabPages.Add(NewTab2 )

Et dans cas tu as trois type d'objet
donc TabControl1.TabPages(0).name --> fonctionnera toujours

fonctionnera que pour ClsTab
directcast(TabControl1.TabPages(0),gettype(ClsTab )).manouvelleprop

Esperant avoir ete clair


lundi 24 novembre 2008 à 17:00:51 | Re : Probléme de classes

Kevin.Ory

Réponse acceptée !
Salut,
Même si tu ajoute un ClsTab au TabControl, celui-ci "voit" une TabPage, mais une TabPage qui contient des contrôles (que tu as ajouté sur ClsTab). Comme déjà dit, ceci est possible car ClsTab dérive de TabPage. Il n'y a pas de conversion, ton ClsTab est géré comme tout autre TabPage par le TabControl.





lundi 24 novembre 2008 à 19:42:09 | Re : Probléme de classes

Vianneyp

Merci a vous deux .
Je n'avais jamais entendue parlé de directcast() mais c'est exactement ce que je cherchais.


Cette discussion est classée dans : classes, onglet, probléme, tabcontrol, clstab


Répondre à ce message

Sujets en rapport avec ce message

[vb.net] TabPages et TabControl [ par drahcir ] Salut à tous,je manipule pour la première fois les TabPaes et TabControl et j'aimerais en savoir un  peu plus...Je possède de nomreux controls sur cha Programmation objet et onglet tabpage [ par senpiet ] Bonjour à tous,je cherche à savoir comment créer, dans un tabControl d'un form général, un nouvel onglet, basé sur un objet indépendant.Ex.J'ai un for onglet (tabcontrol) sur condition (dans access) [ par l_apotre ] Voila mon probleme : je souhaiterai afficher des onglets suivants un premier onglet de configuration : En fait, suivant des champs de qualification du Tabcontrol : affichage et masquage d'un onglet ??? [ par chouka ] Bonjour, débutant en VB, je suis actuellement entrain de dévelloper une application de gestion des inscriptions pour une association (projet de mon fi Tabcontrol [ par slim369 ] Salut,     J'aimerais que l'onglet que j'ajoute dans un tabcontrol ait le meme look(textbox,ckeckbox,..) que l'onglet avant,comment pourrais-je faire? Onglet ds un Tabcontrol [ par slim369 ] Salut,     J'aimerais que l'onglet que j'ajoute dans un tabcontrol ait le meme look(textbox,ckeckbox,..) que l'onglet avant,comment pourrais-je faire? [.net] Choisir l'onglet d'un tabcontrol [ par DarkCid ] Yaoh !Voilà, depuis le formulaire form1 je veux ouvrir le formulaire form2 qui possède un tabcontrol (tabcontrol1).J'aimerais pouvoir ouvrir form2 sur Onglet TabControl (VB2005) [ par phenX ] comment dupliquer un onglet d'un TabCOntrol en cliquant sur un bouton, en VB2005?merci Comment colorer l'onglet TabControl [ par Sipat ] Bonsoir,Est ce qu'il est possible de changer la couleur de l'onglet et de conserver le petit trait qui donne le focus? Merci. concerne l'objet Tabcontrol [ par Sympa74 ] Bonjour à tous, Après avoir posé un objet Tabcontrol  qui contient 6 onglets, je souhaite ajouter un bouton en bas de chaque onglet pour pouvoir passe


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,780 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales