Problème affichage dans listbox avec MDI PARENT ET CHILDFORM

Signaler
Messages postés
100
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
1 mars 2010
-
Messages postés
100
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
1 mars 2010
-
Bonjour à tous,
voilà mon problème, j'ai une Form MDI Parent dans laquel je charge une Form que je déclare en Child.
Dans ma form MDI parent j'ai un serial Port avec une Réception (DATARECEIVED)

Mon problème est que lorsque je recoit une trame sur mon datareceived du MDI PARENT je ne parviens pas
à l'afficher dans une listbox sur ma ChildForm.

On dirai que la Childform ne se rafraichit pas!!!

Quelqu'un aurait une idée???

Cyril

8 réponses

Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
31
Bonjour,

Un exemple de ton code serait le bienvenue.  Il faut savoir comment tu instancie ta feuille enfant, et qu'utilise-tu comme méthode pour mettre à jour celle-ci.

Mayzz.

                                                                              
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer. <
Messages postés
100
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
1 mars 2010

Merci pour ta réponse,

Voici la déclaration de ma fenêtre fille dans la MDI:

Public
Sub Lighting_management_center_Load(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles
MyBase.Load

''''''''''''''''''''''''''''''''''''''''

'''''DEFINITION DES FENETRES'''''''''''

'''''''''''''''''''''''''''''''''''''''

ChildForm3 = Ambient_Light_Center.Monitor

' Configurez-la en tant qu'enfant de ce formulaire MDI avant de l'afficher.ChildForm3.MdiParent =

Mem_ChildFormNumber += 1

'ChildForm.Text = "Fenˆtre " & m_ChildFormNumberChildForm3.Show()

End
Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dans mon Datareceived de la MDI je fais appel à une fonction qui est là encore dans la MDI:

Me.analyse_trame(datarecue)
Puis dans la fonction Analyse_trame je souhaite remplir la listbox de ma form fille:

Public
Sub analyse_trame(
ByVal Trame_a_analyser
As
String)

Try

Dim entete
As
Stringentete = Mid(Trame_a_analyser, 1, 5)

Select
Case entete

Case
"$00"

Case
"$0800"

Case
Else

''''On passe la trame recu au MonitorMonitor.Affichage(Trame_a_analyser)

End
Select

Catch ex
As ExceptionMsgBox(ex.Message)

End
Try

Voilà j'espère avoir été clair

Cyril
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
31
Re,

en fait c'est tjs aussi confus, car je ne sais rien sur ta fonction Monitor.Affichage, or, ton problème viens surement de la, qu'est monitor comme type d'objet et quel est sa fonction (affichage) ?

                                                                              
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer. <
Messages postés
100
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
1 mars 2010

J'ai oublié de mettre la fonction Affichage:
Cette fonction est dans ma form fille (Monitor).
La listbox s'appelle LB_monitor:

Public Sub Affichage(ByVal buffer_affichage As String)
Try

LB_monitor.Items.Insert(0, buffer_affichage)

Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub



Cyril
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
31
je ne comprend pas trop le but de ton code ??

ChildForm3 = Ambient_Light_Center.Monitor <= ???

ChildForm3 = New Ambient_Light_Center.Monitor <=  non ???

' Configurez-la en tant qu'enfant de ce formulaire MDI avant de l'afficher.ChildForm3.MdiParent =

Mem_ChildFormNumber += 1

'ChildForm.Text = "Fen^tre " & m_ChildFormNumberChildForm3.Show()

End
Sub

sinon pour ton problème as tu essayé de mettre un point d'arret à Affichage ? Pour voir si la procédure est bien applé ? Idem pour Datareceived

                                                                              
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer. <
Messages postés
100
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
1 mars 2010

Effectivement je déclare tout en haut:
Public ChildForm3 As New Monitor

Oui j'ai mis des point d'arrêt, on passe dans toutes les fonctions sans aucun problème. la trame est bien envoyé à la listbox mais elle ne l'affiche pas.

J'ai l'impression que c'est un problème de rafraichissement de ma form fille!!!


Cyril
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
31
ben tente un update sur ta list ou ton form ?

                                                                              
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer. <
Messages postés
100
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
1 mars 2010

J'ai essayé un Update sur ma list et ma form mais sans résultat.


Cyril