NetJoao
Messages postés22Date d'inscriptionvendredi 3 juin 2005StatutMembreDernière intervention29 septembre 2005
-
1 sept. 2005 à 22:32
sktemoyala
Messages postés1Date d'inscriptiondimanche 23 octobre 2011StatutMembreDernière intervention31 octobre 2011
-
31 oct. 2011 à 16:25
Je suis sur un projet avec un feuille MDI et feuilles Childs.
Sur ma feuille MDI, j'ai un statusbar avec 3 panels.
J'aimerais lorsque je ferme un formulaire enfant modifier le texte du panel 1 par exemple.
Comment dois-je faire ?
NetJoao
Messages postés22Date d'inscriptionvendredi 3 juin 2005StatutMembreDernière intervention29 septembre 2005 2 sept. 2005 à 21:16
J'ai enfin trouvé !!!! houra !!!
Merci beaucoup pour ton aide, ça m'a éclairé...
Détail de ma solution (ça peut être utile pour d'autre et ça vient en complément de tes explications):
Dans la feuille MDI :
Public
Class Form1
Inherits System.Windows.Forms.Form
Public MDIFilleActive
As Form2
Private
Sub mnuNew_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
handles mnuNew.Click
MDIFilleActive =
New Form2()
MDIFilleActive.MdiParent =
Me
MDIFilleActive.Show()
With
Me
.StatusBar1.Text = "NetJoao"
End
With
End
Sub
Dans la feuille ENFANT :
Public Class Form2
Inherits System.Windows.Forms.Form
Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click
Dim f
As Form1
With
Me
f = .MdiParent
f.StatusBar1.Text = "NetJoao -- Réussi !!!"
NetJoao
Messages postés22Date d'inscriptionvendredi 3 juin 2005StatutMembreDernière intervention29 septembre 2005 2 sept. 2005 à 12:05
Salut,
Merci de t'intéresser à mon problème.
Mais ta réponse ne me convient pas car tu me dis de modifier le panel (il y a une propriété text) à l'évènement close de la feuille MDI. Je ne souhaite pas fermer ma feuille MDI !
J'ai ma feuille MDI et dans cette feuille MDI plusieur feuille enfant d'ouverte, je veux sur activation d'une feuille enfant, Modifier mon statusbar.
Comment faire ?
Merci de ton aide...
psycho81
Messages postés84Date d'inscriptionmardi 4 mai 2004StatutMembreDernière intervention17 février 2008 6 sept. 2005 à 10:42
Salut, je note une mauvaise utilisation des with, voici un code plus simple (je ne rentrerai pas dans les détails plus techniques). Bonne prog !
Public
Class Form1
Inherits System.Windows.Forms.Form
Public MDIFilleActive
As Form2
Private
Sub mnuNew_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
handles mnuNew.Click
MDIFilleActive =
New Form2()
with MDIFilleActive
.MdiParent = Me
.Show()
end with
StatusBar1.Text = "NetJoao"
End
Sub
Dans la feuille ENFANT :
Public Class Form2
Inherits System.Windows.Forms.Form
Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click
NetJoao
Messages postés22Date d'inscriptionvendredi 3 juin 2005StatutMembreDernière intervention29 septembre 2005 6 sept. 2005 à 11:31
Salut,
Je suis d'accord avec toi pour le with dans la feuille MDI.
Par contre ton code ne marchera pas dans la feuille enfant. Tu es obligé de déclarer une variable ("f") qui instancie le Form1, sans ça tu n'auras pas la main sur le "StatusBar1" !
J'ai testé ton code dans mon appli. il marche pas !
psycho81
Messages postés84Date d'inscriptionmardi 4 mai 2004StatutMembreDernière intervention17 février 2008 6 sept. 2005 à 17:22
J'avoue l'avoir fait à l'oeil, j'ai pas visual studio sous la main. Cependant ne serait pas un truc d'option explicite qui est configuré sur ON ? perso je l'enleve car je trouve ce mode trop contraignant sans aucune tolérance à l'inconnu et ... à l'erreur (pour certain cette tolérance à l'erreur est une calamité, personnelement je la trouve d'une utilité essentielle dans l'utilisation des HashTable pour stoker des objet de type différents indeterminé) . Cependant je comprends tout à fait que ce code génère une erreur car on travaille sur un System.Windows.forms.form (qui ne contient pas par défaut de StatusBar1, bien sur ...) . Je me dit donc qu'en le Ctypant ca donnerai ca:
Enfin je dis ca sans tester, juste par intuition ... Dans l'histoire on économiserai une definition de pointeur (je sais, ca fait gros radin ... mais j'entrevois ca dans une utilisation massive)