Modifier la valeur d'1 propriété d'1 autre formulaire
2 réponses
Stéphane L.
Dans 1 formulaire père j'ai 1 image Monimage1 en .visible=false
Dans 1 sous-formulaire, je veux mettre Monimage1 en .visible=true
J'essaye ceci :
me.parentform.controls("Monimage1").visible=true
Mais bien sûr controls n'accepte qu'un index et pas le nom du controle...
Suis-je dans l'obligation de faire 1 scan de tous mes controles avec ceci ?
dim i as integer
for i=0 to me.parentform.controls.count-1
if me.parentform.controls(i).name="Monimage1" then
me.parentform.controls(i).visible=true
exit for
end if
next i
ou existe-t-il 1 autre solution bien plus rapide et bien plus simple que je
ne saurais trouver ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
AlexC
Moi je te conseille ceci :
dans ton sous-formulaire crée une propriété "Owner" que tu renseignera lors ton son instanciation exemple :
Public Class Form2 PrivateGOwner as Form1 Public WriteOnly Property Owner as Form1 Return GOwner End Property 'Ensuite il ne te reste plus qu'à utiliser la variable GOwner pour "piloter" Form1 exemple Public Sub Butoon1_Click(...)handles Button1.click GOwner.Image1.Visible = False End Sub (...) End Class
Public Class Form1 (...) Public Sub UseForm1FromForm2() Dim MyForm as new Form2 MyForm.Owner = me MyForm.Show End Sub End Class
"Stéphane L." a écrit dans le message de news: #tQ##
Dans 1 formulaire père j'ai 1 image Monimage1 en .visibleúlse Dans 1 sous-formulaire, je veux mettre Monimage1 en .visible=true J'essaye ceci : me.parentform.controls("Monimage1").visible=true Mais bien sûr controls n'accepte qu'un index et pas le nom du controle...
Suis-je dans l'obligation de faire 1 scan de tous mes controles avec ceci
?
dim i as integer for i=0 to me.parentform.controls.count-1 if me.parentform.controls(i).name="Monimage1" then me.parentform.controls(i).visible=true exit for end if next i
ou existe-t-il 1 autre solution bien plus rapide et bien plus simple que
je
ne saurais trouver ?
-- Cordialement,
Stéphane L
Moi je te conseille ceci :
dans ton sous-formulaire crée une propriété "Owner" que tu renseignera lors
ton son instanciation exemple :
Public Class Form2
PrivateGOwner as Form1
Public WriteOnly Property Owner as Form1
Return GOwner
End Property
'Ensuite il ne te reste plus qu'à utiliser la variable GOwner pour "piloter"
Form1 exemple
Public Sub Butoon1_Click(...)handles Button1.click
GOwner.Image1.Visible = False
End Sub
(...)
End Class
Public Class Form1
(...)
Public Sub UseForm1FromForm2()
Dim MyForm as new Form2
MyForm.Owner = me
MyForm.Show
End Sub
End Class
"Stéphane L." <no@spam.fr> a écrit dans le message de news:
#tQ##K3VEHA.3524@TK2MSFTNGP12.phx.gbl...
Dans 1 formulaire père j'ai 1 image Monimage1 en .visibleúlse
Dans 1 sous-formulaire, je veux mettre Monimage1 en .visible=true
J'essaye ceci :
me.parentform.controls("Monimage1").visible=true
Mais bien sûr controls n'accepte qu'un index et pas le nom du controle...
Suis-je dans l'obligation de faire 1 scan de tous mes controles avec ceci
?
dim i as integer
for i=0 to me.parentform.controls.count-1
if me.parentform.controls(i).name="Monimage1" then
me.parentform.controls(i).visible=true
exit for
end if
next i
ou existe-t-il 1 autre solution bien plus rapide et bien plus simple que
dans ton sous-formulaire crée une propriété "Owner" que tu renseignera lors ton son instanciation exemple :
Public Class Form2 PrivateGOwner as Form1 Public WriteOnly Property Owner as Form1 Return GOwner End Property 'Ensuite il ne te reste plus qu'à utiliser la variable GOwner pour "piloter" Form1 exemple Public Sub Butoon1_Click(...)handles Button1.click GOwner.Image1.Visible = False End Sub (...) End Class
Public Class Form1 (...) Public Sub UseForm1FromForm2() Dim MyForm as new Form2 MyForm.Owner = me MyForm.Show End Sub End Class
"Stéphane L." a écrit dans le message de news: #tQ##
Dans 1 formulaire père j'ai 1 image Monimage1 en .visibleúlse Dans 1 sous-formulaire, je veux mettre Monimage1 en .visible=true J'essaye ceci : me.parentform.controls("Monimage1").visible=true Mais bien sûr controls n'accepte qu'un index et pas le nom du controle...
Suis-je dans l'obligation de faire 1 scan de tous mes controles avec ceci
?
dim i as integer for i=0 to me.parentform.controls.count-1 if me.parentform.controls(i).name="Monimage1" then me.parentform.controls(i).visible=true exit for end if next i
ou existe-t-il 1 autre solution bien plus rapide et bien plus simple que
je
ne saurais trouver ?
-- Cordialement,
Stéphane L
Stéphane L.
Merci Alex, je vais regarder de ce côté (j'ai du mal à assimiler le truc par contre)
"AlexC" <(@Anti-Spam)#(@Anti-Spam)#> a écrit dans le message de news:%
Moi je te conseille ceci :
dans ton sous-formulaire crée une propriété "Owner" que tu renseignera
lors
ton son instanciation exemple :
Public Class Form2 PrivateGOwner as Form1 Public WriteOnly Property Owner as Form1 Return GOwner End Property 'Ensuite il ne te reste plus qu'à utiliser la variable GOwner pour
"piloter"
Form1 exemple Public Sub Butoon1_Click(...)handles Button1.click GOwner.Image1.Visible = False End Sub (...) End Class
Public Class Form1 (...) Public Sub UseForm1FromForm2() Dim MyForm as new Form2 MyForm.Owner = me MyForm.Show End Sub End Class
"Stéphane L." a écrit dans le message de news: #tQ## > Dans 1 formulaire père j'ai 1 image Monimage1 en .visibleúlse > Dans 1 sous-formulaire, je veux mettre Monimage1 en .visible=true > J'essaye ceci : > me.parentform.controls("Monimage1").visible=true > Mais bien sûr controls n'accepte qu'un index et pas le nom du
controle...
> > Suis-je dans l'obligation de faire 1 scan de tous mes controles avec
ceci
? > dim i as integer > for i=0 to me.parentform.controls.count-1 > if me.parentform.controls(i).name="Monimage1" then > me.parentform.controls(i).visible=true > exit for > end if > next i > > ou existe-t-il 1 autre solution bien plus rapide et bien plus simple que je > ne saurais trouver ? > > > -- > Cordialement, > > Stéphane L > >
Merci Alex, je vais regarder de ce côté (j'ai du mal à assimiler le truc par
contre)
"AlexC" <(@Anti-Spam)#alexandre.claverie@latelec.fr(@Anti-Spam)#> a écrit
dans le message de news:%236YMBi3VEHA.2184@TK2MSFTNGP10.phx.gbl...
Moi je te conseille ceci :
dans ton sous-formulaire crée une propriété "Owner" que tu renseignera
lors
ton son instanciation exemple :
Public Class Form2
PrivateGOwner as Form1
Public WriteOnly Property Owner as Form1
Return GOwner
End Property
'Ensuite il ne te reste plus qu'à utiliser la variable GOwner pour
"piloter"
Form1 exemple
Public Sub Butoon1_Click(...)handles Button1.click
GOwner.Image1.Visible = False
End Sub
(...)
End Class
Public Class Form1
(...)
Public Sub UseForm1FromForm2()
Dim MyForm as new Form2
MyForm.Owner = me
MyForm.Show
End Sub
End Class
"Stéphane L." <no@spam.fr> a écrit dans le message de news:
#tQ##K3VEHA.3524@TK2MSFTNGP12.phx.gbl...
> Dans 1 formulaire père j'ai 1 image Monimage1 en .visibleúlse
> Dans 1 sous-formulaire, je veux mettre Monimage1 en .visible=true
> J'essaye ceci :
> me.parentform.controls("Monimage1").visible=true
> Mais bien sûr controls n'accepte qu'un index et pas le nom du
controle...
>
> Suis-je dans l'obligation de faire 1 scan de tous mes controles avec
ceci
?
> dim i as integer
> for i=0 to me.parentform.controls.count-1
> if me.parentform.controls(i).name="Monimage1" then
> me.parentform.controls(i).visible=true
> exit for
> end if
> next i
>
> ou existe-t-il 1 autre solution bien plus rapide et bien plus simple que
je
> ne saurais trouver ?
>
>
> --
> Cordialement,
>
> Stéphane L
>
>
Merci Alex, je vais regarder de ce côté (j'ai du mal à assimiler le truc par contre)
"AlexC" <(@Anti-Spam)#(@Anti-Spam)#> a écrit dans le message de news:%
Moi je te conseille ceci :
dans ton sous-formulaire crée une propriété "Owner" que tu renseignera
lors
ton son instanciation exemple :
Public Class Form2 PrivateGOwner as Form1 Public WriteOnly Property Owner as Form1 Return GOwner End Property 'Ensuite il ne te reste plus qu'à utiliser la variable GOwner pour
"piloter"
Form1 exemple Public Sub Butoon1_Click(...)handles Button1.click GOwner.Image1.Visible = False End Sub (...) End Class
Public Class Form1 (...) Public Sub UseForm1FromForm2() Dim MyForm as new Form2 MyForm.Owner = me MyForm.Show End Sub End Class
"Stéphane L." a écrit dans le message de news: #tQ## > Dans 1 formulaire père j'ai 1 image Monimage1 en .visibleúlse > Dans 1 sous-formulaire, je veux mettre Monimage1 en .visible=true > J'essaye ceci : > me.parentform.controls("Monimage1").visible=true > Mais bien sûr controls n'accepte qu'un index et pas le nom du
controle...
> > Suis-je dans l'obligation de faire 1 scan de tous mes controles avec
ceci
? > dim i as integer > for i=0 to me.parentform.controls.count-1 > if me.parentform.controls(i).name="Monimage1" then > me.parentform.controls(i).visible=true > exit for > end if > next i > > ou existe-t-il 1 autre solution bien plus rapide et bien plus simple que je > ne saurais trouver ? > > > -- > Cordialement, > > Stéphane L > >