J'ai essayé plusieurs méthodes différentes pour cela, et aucune d'entre elles ne fonctionne. Je dois obtenir la valeur de tabControl1.SelectedTab.Name. Si je tente le code suivant:Obtient tabControl SelectedTab à partir d'un autre thread à l'aide de l'invocation
string name = tabControl1.SelectedTab.Name;
Je reçois une erreur que je suis incapable d'accéder objet à partir d'un autre thread. Alors maintenant j'essaie d'utiliser Invoke pour récupérer la valeur. L'un des moyens que j'ai trouvés en ligne et essayé était le suivant.
string name = tabControl1.Invoke((MethodInvoker)delegate { Text = tabControl1.SelectedTab.Name; })).ToString();
Cela donne l'erreur, référence d'objet non définie à une instance d'un objet. J'ai essayé quelques autres méthodes, mais celles-ci ont abouti à un résultat nul.
J'ai essayé de chercher à travers SO pour une réponse à cela, mais je n'ai rien trouvé qui fonctionne. J'apprécierais toute aide ou si quelqu'un pourrait me diriger dans la bonne direction. Merci!
Vous devez créer et manipuler vos objets de géométrie directement sur le thread de l'interface utilisateur. Tout traitement de thread que vous effectuez ne peut pas accéder directement à l'objet géométrique, il doit être envoyé au thread qui les a créés: le thread de l'interface utilisateur. –