C#将字符串放入TextBox
我想在我的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.
我得到一个错误,因为我使用线程,没有线程它工作正常。
你需要做的是:
txtout.Text = txtout1;
这是因为txtout1
只是一个字符串,而txtout
是一个完整的TextBox,包含所有的绘图和着色以及类似的东西。
我看到你的第一行代码是正确的 – txtOrgText.Text – .Text
用于两种方式 – 用于读写。 (或“看”和“改变”是另一种方式。)
你可以使用很多其他控件 – 一个ComboBox,一个Form(设置标题),一个DomainUpDown(右边有箭头的东西)来举几个例子。
“ToString()”不起作用的原因是ToString()使您的文本字符串成为一个文本字符串! 它不会将它变成TextBox。
txtOut.Text = txtout1;
首先是txtout = txtout1;
不会用作txtout是一个文本框而txtout1是一个字符串。你应该使用
txtout.Text = txtout1
ie。文本框的文本属性说获取或设置System.Windows.Forms.TextBox中的当前文本 ,其类型为字符串,因为您的txtout1已经是一个字符串,无需再使用.ToString()再次转换它