jlf_2007
Messages postés6Date d'inscriptionmercredi 20 juin 2007StatutMembreDernière intervention17 juillet 2007
-
12 juil. 2007 à 15:35
SharpMao
Messages postés1024Date d'inscriptionmardi 4 février 2003StatutMembreDernière intervention 7 juin 2010
-
12 juil. 2007 à 16:50
Bonjour,
j'ai déclaré un timer qui fonctionne a priori correctement (la fonction souhaité est appelée). Par contre, une fois que je suis dans cette fonction, je n'arrive pas à accéder aux contrôles du Form en question. Dans mon cas, je souhaite fermer automatiquement une fenêtre.
Etapes
1) dans le main.cs, je fais "Form About= new xxx.AboutBox1();" et "About.Show();"
2) dans le fichier AboutBox1.cs, je déclare mon timer qui appellera la fonction "CloseBox" elle-aussi dans AboutBox1.cs
3) dans la fonction "CloseBox", là, je suis perdu...
private
void CloseBox(
object state)
{
this.Close();
}
J'ai le message suivant: "Opération inter-threads non valide : le contrôle 'AboutBox1' a fait l'objet d'un accès à partir d'un thread autre que celui sur lequel il a été créé.
Je comprends bien que l'environnement d'appel n'est pas le même, mais je n'arrive pas à trouver comment faire référence à un contrôle/form/objet quelque soit l'endroit du code...
jlf_2007
Messages postés6Date d'inscriptionmercredi 20 juin 2007StatutMembreDernière intervention17 juillet 2007 12 juil. 2007 à 16:29
SharpMao : Merci, cette commande ferme bien la fenêtre souhaitée.
Mais cela ne résoud pas complètement mon souci : à partir du code de "AboutBox1.cs", je souhaite accéder à tous les contrôles de toutes mes fenêtres.
Par exemple, dans "AboutBox1.cs", je souhaite griser un bouton de la fenêtre "Main". Comment fait-on cela ?