Déclaration personalisée d'une variable [Résolu]

Signaler
Messages postés
306
Date d'inscription
vendredi 16 janvier 2004
Statut
Membre
Dernière intervention
10 mai 2017
-
Messages postés
70
Date d'inscription
mardi 25 juillet 2006
Statut
Membre
Dernière intervention
2 mai 2007
-
Coucou tout le monde :D


 


Alor voila, je ma suis mis dans la tête de faire un tabcontrole personalisé.


Concrètement, je veux qu'au démarrage de ma form, mon tabcontrole comporte autant de tabpag qu'il y a des personnes dans ma base (y a pas beaucoup de personnes je vou rassure ;) )


Mais me voila face à mon premier obstacle..... :(:(


J'utilise une boucle pour, pour passer en revue mes enregistrements.


Mais le problème est tout simplement la déclaration de mon tabpage !! En effet, la première chose que jefait dans ma boucle est de récupérer le nom de la personne en cours. Mais il faut que je déclare un onglet (tabpage) "personalisé". Je peux pas mettre un dim hein?


En gros voila pour l'instant mes essais :


dim &nom_pers & as New System.Windows.Forms.TabPage


Et bien sur ça marche po :( :(

Je suis dans le brouillrd total... Est ce qu'au moins c'est possible???? de paramètrer en quelque sorte une déclaration???

Merci beaucoup beaucoup d'avance :D

BIz [;)]

6 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
35
Voila ce que j'ai dans l'aide :
<colgroup><col width= \"40%\" /><col width=\"60%\" /></colgroup>----
Nom |Description |----
TabControl.TabPageCollection.Add
(String) , <summary xmlns ="http://ddue.schemas.microsoft.com/authoring/2003/5">Crée une
page d'onglets avec le texte spécifié et l'ajoute à la collection.
</summary>, ----
TabControl.TabPageCollection.Add
(TabPage) , <summary xmlns= "http://ddue.schemas.microsoft.com/authoring/2003/5">Ajoute
un TabPage à la
collection. </summary>Pris en charge par le .NET Compact Framework. , ----
TabControl.TabPageCollection.Add
(String, String) , <summary xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5">Crée une
page d'onglets avec le texte et la clé spécifiés et l'ajoute à la collection.
</summary>, ----
TabControl.TabPageCollection.Add
(String, String, Int32) , <summary xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5">Crée une
page d'onglets avec la clé, le texte et l'image spécifiés et l'ajoute à la
collection. </summary>, ----
TabControl.TabPageCollection.Add
(String, String, String) , <summary xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5">Crée une
page d'onglets avec la clé, le texte et l'image spécifiés et l'ajoute à la
collection. </summary>

Alors soit tu uitlise la première déclaration (ce que j'avais fait au départ) dans ce cas tu crée une nouvelle page à ton controle avec pour titre la chaine passer en argument.

Soit tu utilise la seconde déclaration. Dans ce cas tu crée ta page  avec un Dim as new TabPage. Tu initialise les proprietes comme tu as besoin, et ensuite tu la rajoute au controle TabControl pour l'afficher.

Je ne peux trop t'en dire plus, je debute à peine en .net, j'ai pas commencé de vrai programme encore.

Sevyc64  (alias Casy) <hr align ="center" size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
70
Date d'inscription
mardi 25 juillet 2006
Statut
Membre
Dernière intervention
2 mai 2007

C'est très intéressant ton truc! je n'ai aucun élément de réponse pour
toi malheureusement... mais par contre, je pourrais bientôt aussi avoir
besoin d'un truc du genre.


Courrage et bon développement !


Sifflet
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
35
Si j'ai bien compris, tu veux ajouter dynamiquement des pages à ton TabControl?

Pourquoi ne pas utiliser les méthodes du TabControl

Je ne connais rien à ce control, mais je viens d'essayer et ça donne ça :

TonTabControl.TabPages.Add("TitreDeTaPage")

Sevyc64  (alias Casy)<hr align="center" size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
306
Date d'inscription
vendredi 16 janvier 2004
Statut
Membre
Dernière intervention
10 mai 2017
2
Re :D

(merci sifflet :D)

Alors j'ai essayé ça :
Dim

temp
As
ObjectIf

nb > 0
Then

For i = 0
To nbtemp = table_debut.Rows(i).Item("nomveto")

ctrl_agendas.TabPages.Add(

CType(temp,
Object))

Next

End
If

Mais il me met une erreur :( : Une exception non gérée du type 'System.InvalidCastException' s'est produite dans Couche_vue.exeInformations supplémentaires : Le cast spécifié n'est pas valide.

Je me doute que c'est du au type de temp... Mais j'ai regardé dans l'aide de add et ils disent qu'il faut bien un objet, et lorsque je rédige mon code, ben y a aucune erreur de signalée :(

Qu'en pensez vous?

BIz [;)]
Messages postés
306
Date d'inscription
vendredi 16 janvier 2004
Statut
Membre
Dernière intervention
10 mai 2017
2
hihihihi
Ca y est ça marche :D:D:D

Alors tout était une question d'ordre des commandes ^^
Voila pour info mon bout de code final qui marche :D

Dim

nomduveto
As
String

Dim page
As TabPage
For

i = 0
To table_onglet.Rows.Count - 1

      'récupère nom du véto dans une var      nomduveto = table_onglet.Rows(i).Item("nomveto")

      'nouvel onglet qui se nomme comme le véto      page =

New TabPage(nomduveto)      page.Controls.Add(ctrlonglet)

      ctrl_agendas.TabPages.Add(page)
      ctrlonglet New ongletrdv      ctrlonglet.DateTimePicker2.Value "25/12/2006"

NextVoila voila ;D

Merci beaucoup à vous pour votre aide :D

BIz [;)]
Messages postés
70
Date d'inscription
mardi 25 juillet 2006
Statut
Membre
Dernière intervention
2 mai 2007

Joli coup!

Je vais devoir adapter le truc à mes besoins (comme toujorus), mais ça va bien m'aider !


Salut! Merci aux 2 A+

Sifflet