GregYoung
Messages postés29Date d'inscriptionsamedi 21 avril 2018StatutMembreDernière intervention23 décembre 2018
-
5 mai 2018 à 17:20
Whismeril
Messages postés18416Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention 1 juin 2023
-
12 mai 2018 à 01:40
Bonjour à tous !
Petit problème pour laquelle je ne trouve aucune solution :
J'ai 2 forms : Form1 et Form2
J'ai une SUB public (Rafraichir) sur Form1 qui doit afficher une image dans un picturebox.
Public Sub Rafraichir()
If iTheme < 2 Then iTheme += 1 Else iTheme = 0
SetTheme()
Me.Corner1.Image = cadre1
Me.Corner2.Image = cadre2
Me.Corner3.Image = cadre3
Me.Corner4.Image = cadre4
Me.Corner5.Image = cadre5
Me.Corner6.Image = cadre6
End Sub
Quand j'appelle cette sub depuis un évènement Click de Form2, rien ne se produit.
Aucune erreur n'est affichée cependant.
Whismeril
Messages postés18416Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention 1 juin 2023624 6 mai 2018 à 01:56
Comment tu appelles cette sub depuis un événement click de form2?
GregYoung
Messages postés29Date d'inscriptionsamedi 21 avril 2018StatutMembreDernière intervention23 décembre 2018 7 mai 2018 à 10:03
Disons que c'est là tout le problème.
Dans Form1, pour appeler la sub Rafraichir, comme chacun sait, aucun problème et elle s'exécute correctement.
Depuis Form2, je l'appelle en faisant :
Form1.Rafraichir() ' Aucune erreur, mais sans effet
Si je fais :
Dim page1 as Form1
page1.Rafraichir() ' ça ne s'exécute pas non plus.
En fait, au départ et d'un point de vue hiérarchique, c'est Form1 qui arrive en premier. Elle contient un tabcontrol (et ses tabpages) dans lequel vient s'afficher sur demande, la Form2.
Peut-être une histoire de contrôles parent/enfant pour laquelle il faut donner la bonne instruction, mais que je ne connais pas encore.. Oups
GregYoung
Messages postés29Date d'inscriptionsamedi 21 avril 2018StatutMembreDernière intervention23 décembre 2018 7 mai 2018 à 14:46
Merci Whismeril pour ton lien. Je pense que ça va bp m'aider, même si je débarque avec le 'Binding'.
Après quelques lectures et relectures, je n'arrive pas à comprendre d'où vient "DetailRDVBindingSource" ? Dans mon projet, ça me dit que ce n'est pas déclaré..
Whismeril
Messages postés18416Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention 1 juin 2023624 7 mai 2018 à 15:20
Le binding n'est pas adapté à ton utilisation.
Ca marche avec des propriétés et tu as besoin de lancer une méthode.
En attendant (je n'ai pas VS sous la main alors c'est pas du 100% syntaxe parfaite)
Dans Form2
Dim page1 as Form2'au niveau de la classe
Public Sub New(Form2 LaForm1)'ajout du paramètre dans le constructeur
page1 = LaForm1
End Sub
'ensuite tu peux utiliser la variable page1
Dans Form1, à l'endroit où tu lances Form2
dim laForm2 as New Form2(Me)
laForm2.Show
GregYoung
Messages postés29Date d'inscriptionsamedi 21 avril 2018StatutMembreDernière intervention23 décembre 2018 7 mai 2018 à 15:26
Ok. Merci. Je vais tester
GregYoung
Messages postés29Date d'inscriptionsamedi 21 avril 2018StatutMembreDernière intervention23 décembre 2018 7 mai 2018 à 15:39
Pourquoi, depuis la form2, faut-il mettre 'Form2' dans la variable page1 ?
Whismeril
Messages postés18416Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention 1 juin 2023624 7 mai 2018 à 18:04
Au temps pour moi
Dim page1 as Form1'au niveau de la classe
Public Sub New(LaForm1 as Form1)'ajout du paramètre dans le constructeur
page1 = LaForm1
End Sub
'ensuite tu peux utiliser la variable page1
7 mai 2018 à 10:03
Dans Form1, pour appeler la sub Rafraichir, comme chacun sait, aucun problème et elle s'exécute correctement.
Depuis Form2, je l'appelle en faisant :
Si je fais :
En fait, au départ et d'un point de vue hiérarchique, c'est Form1 qui arrive en premier. Elle contient un tabcontrol (et ses tabpages) dans lequel vient s'afficher sur demande, la Form2.
Peut-être une histoire de contrôles parent/enfant pour laquelle il faut donner la bonne instruction, mais que je ne connais pas encore.. Oups