Zmain09
Messages postés110Date d'inscriptionlundi 17 septembre 2012StatutMembreDernière intervention11 juin 2016
-
Modifié par Zmain09 le 7/06/2016 à 14:18
Zmain09
Messages postés110Date d'inscriptionlundi 17 septembre 2012StatutMembreDernière intervention11 juin 2016
-
7 juin 2016 à 23:06
Bonjour à tous,
j'ai un petit problème dans mon code vb je vous explique :
J'ai 2 form !
- Une principale
- Une notification
Comme la notification peut et même doit s'afficher très souvent et rapidement, le mieux pour moi est de l'ouvrir depuis un thread !
Voila un exemple de comment je procède !
Public Sub OuvrirNotif()
Dim t1 As New Thread(AddressOf Notification1) t1.Start()
End Sub
Public Sub Notification1()
Dim id as String = GetId() ' Comment l'utiliser ?
notif = New Notif1() ' Notif1 ; form déjà créer Application.Run(notif)
End Sub
Ma form et déjà créer !
Je ne la créer pas manuellement, avec un truc du style :
notif.control.add(label0)
notif.control.add(pic1)
notif.control.add(pic2)
notif.control.add(...)
bref vous avez compris !
Seulement dans cette form j'ai un label qui a chaque fois que la form notif s'ouvre, se label doivent avoir des textes qui leurs correspondes, d'où la déclaration "id" du sub "Notification1()"
Faudra faire peut être un truc comme ceci :
Public Sub Notification1()
Dim id as String = GetId() ' Comment l'utiliser ?
notif = New Notif1() notif.label1.Text = "id : " & id ' Mais ne fonctionne pas, d’ailleurs c'est complètement logique....
Application.Run(notif)
End Sub
Sinon par invoque ? Mais j'arrive pas a récupérer si vous voulais le label de la form ouverte par thread !
Voila si quelqu'un peut m'aider.. :)
Je vous remercie d'avance.
Heu, j'ai déjà vue cette page, et dans mon cas le label et déjà déclarer vue qu'il est déjà dans la form..
donc je peut pas utiliser sa.. par exemple :
If Me.textBox1.InvokeRequired Then
Ne marchera pas vue que j'ai pas sa déclaration au dessus :
Private textBox1 As TextBox
Vue que ma form et déjà tout prête.
Et puis c'est une 2nd form c'est pas la principale,
J’exécute mes fonctions.. depuis la 1ere la principale.
Enfin peut être que y a la réponse dans la doc et que j'ai rater des éléments.. je cherche toujours !
NHenry
Messages postés15156Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention29 septembre 2024159 Modifié par NHenry le 7/06/2016 à 19:35
As-tu essayé d'utiliser la propriété InvokeRequired et Invoke à partir d'un autre control/form ?
Zmain09
Messages postés110Date d'inscriptionlundi 17 septembre 2012StatutMembreDernière intervention11 juin 2016 7 juin 2016 à 22:37
j'ai relu plusieurs fois ton message et je ne comprends pas ce que tu veux.
Déjà, tu dis par deux fois
Ma form et déjà créer !
mais dans ton code il y a cette ligne
notif = New Notif1()
qui crée une nouvelle instance et donc va à l'encontre de ce que tu dis.
Par contre tu écris ça aussi
Je ne la créer pas manuellement, avec un truc du style :
notif.control.add(label0)
notif.control.add(pic1)
notif.control.add(pic2)
notif.control.add(...)
Veux tu dire que tu as édité l'aspect de ta Form avec l'éditeur?
Comme 99,9999999999999% des Form?
Si oui ton insistance sur un fait qui coule de source, embrouille plutôt en distillant un doute là oú le fait de ne pas en parler n'en aurait pas mis.
Y'a un ID dont même toi tu ne sais pas ce qu'il fait là, comment veux tu qu'on saches à ta place?
Et j'adore ce commentaire
' Mais ne fonctionne pas, d’ailleurs c'est complètement logique...
si tu le dis....
Peux tu décrire précisément ton besoin? Et non pas la solution que tu as choisie (que d'ailleurs tu ne n'arrives pas à décrire).
Quand j'étais petit, la mer Morte n'était que malade.
George Burns
Zmain09
Messages postés110Date d'inscriptionlundi 17 septembre 2012StatutMembreDernière intervention11 juin 2016 7 juin 2016 à 22:36
Salut oui je comprend se que tu veut dire, j’étais un peut fatiguer quand j'ai poster mon problème ^^
Oui le coms.. je me comprend, c'est parce que je sais pourquoi sa marche pas mais je sais pas le corrigé..
Bref, pour résumer : Je veut ouvrir sous thread une "fenêtre" faites avec l'éditeur, ainsi que modifier texte d'un label de cette "fenêtre".
Modifié par Zmain09 le 7/06/2016 à 19:23
donc je peut pas utiliser sa.. par exemple :
Ne marchera pas vue que j'ai pas sa déclaration au dessus :
Vue que ma form et déjà tout prête.
Et puis c'est une 2nd form c'est pas la principale,
J’exécute mes fonctions.. depuis la 1ere la principale.
Enfin peut être que y a la réponse dans la doc et que j'ai rater des éléments.. je cherche toujours !
Modifié par NHenry le 7/06/2016 à 19:35
7 juin 2016 à 22:37