7
votes

C # mettre la chaîne dans la zone de texte

Je veux montrer les résultats de ce code dans ma zone de texte: xxx pré>

J'ai une zone de texte, txtorgtext code> dans lequel l'utilisateur entrait le texte. Je veux mettre du texte en txtout maintenant. J'ai défini TXTOUT pour readonner et multiline. P>

Lorsque j'essaye d'exécuter mon programme, je reçois l'erreur suivante: p> xxx pré>

J'ai essayé txtout1 .Tostring () code>, mais rien ne change. P>

J'ai aussi essayé txtout.text = txtout1 code> et obtenir cette erreur: p>

Cross-thread operation not valid: 
Control 'txtout' accessed from a thread other than the thread it was created on.

c#

2 commentaires

Veuillez indiquer clairement lorsque vous modifiez votre message ...


Cela devrait vous aider. MSDN.MicRosoft.com/en-us/Library/ms171728 (Vs.80) .aspx


3 Réponses :


4
votes

txtout.text = txtout1;


0 commentaires

17
votes

Ce que vous devez faire est: xxx

ceci est parce que txtout1 est juste une chaîne de caractères, tandis que txtout est un Boîte de texte complète, avec tout le dessin et tout le dessin et la coloration et des trucs comme ça.

Je vois que vous étiez sur les bonnes lignes avec votre première ligne de code - txtorgtext.text - le .text est utilisé à la fois des façons - pour la lecture et l'écriture. (Ou "regarder" et "changer" est une autre façon de la mettre.)

Vous faites cela avec beaucoup d'autres contrôles - une combinaison, une forme (pour définir la légende), un domaine de domaine (le Chose avec les flèches à droite) Pour nommer quelques-uns.

La raison pour laquelle "Tostring ()" ne fonctionne pas est que Tostring () rend votre chaîne de texte dans une chaîne de texte! Il ne l'est pas dans une zone de texte pour vous.


3 commentaires

@ Person-B i Get Erreur Thread Opération non valide: Contrôle 'txtout' accessible à partir d'un fil autre que le thread qui a été créé. Je retire tout ce que vous sortez mais ...


Utilisez-vous un composant de bus d'arrière-plan ou la classe de thread? Essayez de faire un CTRL + F (Trouvez) pour eux. Sinon, pouvez-vous publier autant de code que possible sur Pastebin.com s'il vous plaît. Merci :)


Oh, et, au fait, désolé pour la réponse lente - je vais vérifier un peu plus souvent maintenant;)



2
votes

Tout d'abord txtout = txtout1; ne sert pas de txtout est une zone de texte et txtout1 est une chaîne. Vous devez utiliser

txtout.text = txtout1

IE .Text Propriété de Textbox dit obtient ou définit le texte actuel dans system.windows.forms.textbox et son type est une chaîne car votre TXTOUT1 est déjà une chaîne il n'y a pas besoin Pour le convertir à nouveau en utilisant .Tostring ()


0 commentaires