【发布时间】:2018-07-07 09:25:17
【问题描述】:
我在 WinForms 中有一个丰富的文本框,并创建了一个复制和粘贴功能,我可以在光标处复制和粘贴。但是,一旦粘贴了我的光标就会移动到富文本框的开头。如何让它保持在该位置或移动到粘贴部分的末尾?
我试过了
Point p = new Point(Cursor.Position.X, Cursor.Position.Y);
rtbNotePad.PointToClient(p); //but does not work.
private void copyToolStripMenuItem_Click(object sender, EventArgs e)
{
rtbNotePad.Copy();
}
private void pasteToolStripMenuItem_Click(object sender, EventArgs e)
{
string pasteText = Clipboard.GetText(TextDataFormat.Text).ToString();
Point p = new Point(Cursor.Position.X, Cursor.Position.Y);
if (Clipboard.ContainsText())
{
rtbNotePad.Text = rtbNotePad.Text.Insert(rtbNotePad.SelectionStart, Clipboard.GetText(TextDataFormat.Text).ToString());
rtbNotePad.PointToClient(p);
}
}
【问题讨论】:
-
不要重新分配 Text 属性,这会强制 RTB 将光标向后移动,因为文本已完全改变。而是使用 rtbNotePad.SelectedText = ClipBoard.GetText();
标签: c# copy richtextbox paste