C#将字符串放入TextBox

时间:2009-08-01 23:29:53

标签: c#

我想在TextBox中显示此代码的结果:

       string txtout1 = txtOrgText.Text.Replace(parm, txtTo.Text).ToString();
       txtout = txtout1;

我有一个文本框txtOrgtext,用户输入文本。我想现在把一些文本放到txtout中。 我已将txtout设置为ReadOnly和MultiLine。

当我尝试运行程序时,出现以下错误:

Error   1   Cannot implicitly convert type 'string' to 'System.Windows.Forms.TextBox'   C:\Users\xxx\AppData\Local\Temporary Projects\WindowsFormsApplication1\Form1.cs 45  25  WindowsFormsApplication1

我尝试了txtout1.ToString(),但没有任何变化。

我也尝试txtout.Text = txtout1并收到此错误:

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

我收到错误,因为我使用了线程,没有线程它工作正常。

3 个答案:

答案 0 :(得分:15)

您需要做的是:

 txtout.Text = txtout1;

这是因为txtout1只是一串字符,而txtout是一个完整的TextBox,包含所有的绘图和着色以及类似的内容。

我看到你的第一行代码是正确的 - txtOrgText.Text - .Text用于两种方式 - 用于读写。 (或“看”和“改变”是另一种方式。)

你可以使用很多其他控件 - 一个ComboBox,一个Form(设置标题),一个DomainUpDown(右边有箭头的东西)来命名一些。

“ToString()”不起作用的原因是ToString()将您的文本字符串变成一串文本!它不会把它变成TextBox。

答案 1 :(得分:4)

txtOut.Text = txtout1;

答案 2 :(得分:2)

首先txtout = txtout1;不会用作txtout是文本框而txtout1是字符串。你应该使用

txtout.Text = txtout1

即。文本框的文本属性说 获取或设置System.Windows.Forms.TextBox中的当前文本 并且它的类型是字符串,因为你的txtout1已经是一个没有必要的字符串 使用.ToString()

再次转换它