我想在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.
我收到错误,因为我使用了线程,没有线程它工作正常。
答案 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()
再次转换它