如何从文本框中剪切文本并复制到剪贴板
本文关键字:文本 复制 剪贴板 | 更新日期: 2023-09-27 18:31:19
让我先说我是一个初学者程序员,我知道我最后的代码语句是不正确的。 我正在编写一个记事本应用程序,但我不太知道如何剪切文本。 我知道,当您剪切文本时,您所做的只是将所选文本复制到剪贴板,然后删除所选文本。正如我所说,我知道语法是错误的,我只是想展示我试图做什么。
private void pasteToolStripMenuItem_Click(object sender, EventArgs e)
{
textBox1.Text = Clipboard.GetText(); // will paste whatever text is copied to clipboard
}
private void copyToolStripMenuItem_Click(object sender, EventArgs e)
{
Clipboard.SetText(textBox1.SelectedText);//copies whatever text is selected in my textbox
}
private void clearClipboardToolStripMenuItem_Click(object sender, EventArgs e)
{
Clipboard.Clear();//clears clipboard
}
private void cutToolStripMenuItem_Click(object sender, EventArgs e)
{
Clipboard.SetText(textBox1.SelectedText);
textBox1.SelectedText == "";//line I know is incorrect
}
最好的方法是将操作委托给TextBox
:
切
复制
糊
也就是说,如果要手动执行此操作,则代码行的问题在于您使用的是==
运算符而不是=
运算符。您编写的代码可以使用正确的运算符。:)
请注意,textBox1.SelectedText = Clipboard.GetText();
将是一个更典型的"粘贴"实现。如果这真的是您要做的,那么替换整个文本框的文本并没有错,但它可能会让一些用户感到惊讶。
TextBox
有自己的Cut
、Copy
和Paste
方法。 这正是您应该首先阅读文档的原因。 毫不奇怪,TextBox
类的文档列出了这些方法。
在 CompactFramework 中,我们没有 TextBox.SelectedText.Copy() 方法,但我们可以使用公共静态类 Clipboard:
TextBox1.SelectAll();
if (TextBox1.SelectionLength > 0)
{
Clipboard.SetDataObject(TextBox1.SelectedText);
}