Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 17697|Répondre: 0

[Source] Opération de cross-thread non valide : contrôle 'txtresult' accessible depuis un threa...

[Copié le lien]
Publié sur 14/12/2015 15:27:31 | | |

Lorsque nous faisons une application de formulaire, il nous arrive parfois d’obtenir des informations sur le formulaire actuel ou d’appeler les contrôles d’autres formulaires.

Voici deux méthodes pour y parvenir.


Lorsque nous devons appeler des contrôles provenant d’autres formes dans un formulaire, nous pouvons utiliser des contrôles. CheckForIllegaCrossThreadCalls=false ;

Par exemple : Button.CheckForIllegalCrossThreadCalls=false ;

Bien sûr, on peut aussi faire en croisement la forme entière

Form.CheckForIllegalCrossThreadCalls=false ;

Cela nous permet d’accéder aux contrôles ou propriétés de cette forme dans d’autres formes.

Ce n’est peut-être pas la méthode la plus sûre, et parfois le débogage nous donne une erreur.


Ici, je vais introduire une autre méthode accessible à travers les threads.

Invoke saute sur le fil de discussion du formulaire pour exécuter la fonction sur le délégué


D’abord, nous devons déclarer une commission.

public delegate void DelSetTime(object str) ;

Ensuite, il nous suffit de préparer la fonction à exécuter,

public void setTime(objet force) ;

Nous pouvons maintenant placer le délégué sur le fil du formulaire pour exécuter

Délégué d=nouveau DelsetTime(setTime) ;

Exactement. Invoke(d,Datetime.Now.ToString()) ;

De cette façon, nous pouvons obtenir un accès cross-thread.


Chaque formulaire possède un fil de fil de formulaire, qui est principalement responsable de compléter le dessin du formulaire et des contrôles du formulaire

Ce fil de discussion est appelé le fil de forme ou le fil principal.

Souvent, nous devons ajouter des threads au formulaire pour traiter les données, puis nous pouvons définir ces nouveaux threads créés comme threads en arrière-plan lorsque le formulaire est fermé

Le fil de discussion se terminera aussi.

ThreadStart ths=nouveau ThreadStart (démo) ;

Fil th= nouveau Fil(ths) ;

th. Start() ;

th. IsBackground=vrai ;


Original : http://bingdao.sinaapp.com/net%E4%BD%93%E7%B3%BB/380.html     






Précédent:L’entrée du tableau de caractères à deux chiffres est triée lors de la sortie
Prochain:【Tutoriel de la série de développement iOS publié en été】Tutoriel iPhone
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com