Créer 1 ref à 1 objet d'1 sous-formulaire

Résolu/Fermé
alonsyl - 11 sept. 2007 à 17:10
 alonsyl - 11 sept. 2007 à 20:45
bonjour,


j'ai 1 formulaire que j'ai appelle "nomForm". dans le Form_Load() de nomForm (comme dans d'autres procedures d'ailleurs), j'appelle un controle onglets ("ctlOngl") d'un sous-formulaire ("sousForm") de nomForm en procedant de la maniere suivante :

Private Sub Form_Load()
Controls("sousForm").Controls.Item("ctlOngl").Pages.Item(0).Caption = "1er onglet"
Controls("sousForm").Controls.Item("ctlOngl").Pages.Item(1).Caption = "2eme onglet"
End Sub

j'en ai marre d'avoir a tapper Controls("sousForm").Controls.Item("ctlOngl") pour acceder a ctlOngl.
j'ai essayer de faire des appels du type :
Dim onglets As Pages
onglets = Controls("sousForm").Controls.Item("ctlOngl")
onglets.Pages.Item(0).Caption = "1er onglet"
onglets .Pages.Item(1).Caption = "2eme onglet"

mais, rien a faire, ca plante !

comment puis-je creer une nouvelle variable qui fasse reference a Controls("sousForm").Controls.Item("ctlOngl") ?

MERCI A VOUS !!!
A voir également:

3 réponses

Bonjour,

le With.... End With ne fonctionne pas dans ce cas ? Je n'ai pu tester...
par exemple :

Private Sub Form_Load()
With Controls("sousForm").Controls.Item("ctlOngl").Pages
.Item(0).Caption = "1er onglet"
.Item(1).Caption = "2eme onglet"
End With
End Sub
0
Je n'y connais rien en Vb mais tu n'a pas la possibilité de faire des Propriétés Get Set ou des méthodes qui te donne accès à l'onglet désiré soit par paramètre soit défini dans le formulaire parent exemple en C#
public Form
{
private Item onglet1= Controls("sousForm").Controls.Item("ctlOngl").Pages.Item(0);
// définition de la propriété
public Item Onglet1
{
//on retourne l'objet
get{
return onglet1;
}
//on initialise la valeur de l'objet
set{
onglet1= value;

// OU BIEN plus facile à réutilisé la méthode avec un paramètre de type Entier qui retourne l'Item de la Page
}


C'est du C# le Vb si c'est du .Net que tu fais on peut faire mieux, j'espère que ça peu aider.
0
c'est exactement ce que je cherche à faire lorsque je tappe :
Dim onglets As Pages
onglets = Controls("sousForm").Controls.Item("ctlOngl")

mais la synthaxe ne semble pas correcte.

merci tout de meme
0