我有一个用户在textBox1中输入手册的文本 然后单击一个按钮,将文本从textBox1复制到textBox2,但在textBox2中,文本看起来像一个长字符串。
我希望在复制文本时,它还会复制单词之间的确切空格。
在我的新课程中,我将此代码放在顶部:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ScrambleRandomWordsTest
{
class ScrambleTextBoxText
{
private static readonly Random RandomGen = new Random();
private List<string> _words;
private List<string> _scrambledWords;
public ScrambleTextBoxText(List<string> textBoxList)
{
_words = textBoxList;
}
然后在底部我有这个功能:
public List<string> scrambledTextBoxWords()
{
List<string> words = _scrambledWords;
return words;
}
然后在按钮点击事件的Form1中我有:
private void BtnScrambleText_Click(object sender, EventArgs e)
{
textBox1.Enabled = false;
BtnScrambleText.Enabled = false;
textBoxWords = ExtractWords(textBox1.Text);
ScrambleTextBoxText scrmbltb = new ScrambleTextBoxText(textBoxWords);
for (int i = 0; i < scrmbltb.scrambledTextBoxWords().Count; i++)
{
textBox2.AppendText(scrmbltb.scrambledTextBoxWords()[i]);
}
}
所以我在Form1中键入一些文本,例如:
danny你好黄色
然后我为新类创建实例,然后按照我想要的方式返回单词列表。 并使用AppendText
将它们添加到textBox2Thep roblem就是在textBox2中文本看起来像:
dannyhelloyellow
我希望它看起来和textBox1中的相同,包括空格: 例如,在hello和yellow之间有7个空格,所以在textBox2中它看起来像:
danny你好黄色
我该怎么做?
答案 0 :(得分:5)
最简单的方法是
textBox2.Text = String.Join(" ", scrmbtb.scrambledTextBoxWords());
使用您当前的解决方案
textBox2.AppendText(scrmbltb.scrambledTextBoxWords()[i] + " ");
如果这就是你的所有功能,你最好把你的班级变成类似的东西。
你有
private List<string> _scrambledWords;
public List<string> scrambledTextBoxWords()
{
List<string> words = _scrambledWords;
return words;
}
与
相同public List<string> ScrambledTextBoxWords {get; private set;}
然后
textBox2.Text = String.Join(" ", scrmbtb.ScrambledTextBoxWords);