我的英语很弱,所以我希望你能理解这一点。
我昨天得知剪贴板是副本。
//textBox1.Text = "My name is not exciting";
Clipboard.SetText(textBox1.Text);
textBox2.Text = Clipboard.GetText();
此代码会复制textbox1中的所有内容并将其粘贴到textbox2中吗?
那么可以从textbox1中复制几个单词并将其粘贴到textbox2中吗?
如果你不理解,我只想复制几个字而不是全部。
即使这个高级代码仍然带给我:)
答案 0 :(得分:1)
Clipboard.GetText();
将返回原始复制的元素。
您可以做的是将它们保存到某个变量:
string text = Clipboard().GetText();
然后使用text
做一些事情,以获得所需的元素:
textBox2.Text = text.Substring(0, 10); // An example.
要脱离这一点的主要想法是,GetText()
会给你一个字符串。您可以按照自己认为合适的方式对字符串进行切片和切块,然后再使用结果。
答案 1 :(得分:1)
您不需要剪贴板。您的用户不会喜欢;)
只需创建一个这样的变量:
string box1Content = textBox1.Text;
textBox2.Text = boxContent;
您甚至可以跳过该变量。
如果你真的想使用剪贴板,你可以这样做。
只是从文本框中获取一些文本,您可以使用子字符串或正则表达式。 http://msdn.microsoft.com/en-us/library/aka44szs.aspx
祝你好运答案 2 :(得分:0)
我认为最好从文本框中选择文本。
我不确定你使用的是哪种文本框但是在WPF上显示示例你应该使用TextBox.SelectedText属性。
答案 3 :(得分:0)
丹尼尔,子串方法是一个很好用的方法。你只需告诉它你想要一段文字,它就会创建一个新的字符串。
textBox1.Text = "MY name is not exciting";
//pretend you only want "not exciting" to show
int index = textBox1.Text.IndexOf("not");//get the index of where "not" shows up so you can cut away starting on that word.
string partofText = textBox1.Text.Substring(index);//substring uses the index (in this case, index of "not") to take a piece of the text.
Clipboard.SetText(partofText);
textBox2.Text = Clipboard.GetText();
答案 4 :(得分:0)
我喜欢linq。 : - )
这是一个分割字符串的例子,可以枚举它和concats:
textBox1.Text = "My name is not exciting";
int firstWord = 2;
int lastWord = 4;
string[] wordList = textBox1.Text.Split(new[] { ' ', '.', ',' }, StringSplitOptions.RemoveEmptyEntries);
string newText = string.Concat(wordList.Where((word, count) => count >= firstWord - 1 && count < lastWord).Select(w => w + " ")).TrimEnd();
Clipboard.SetText(newText);
textBox2.Text = Clipboard.GetText();
// Result: "name is not"
编辑:没有剪贴板,您只需使用此行
即可textBox2.Text = newText;