這裏是我的代碼:我的RichTextBox的剪切/複製/粘貼不剪切,複製或粘貼
void CutAction(object sender, EventArgs e)
{
richTextBox2.Cut();
}
void CopyAction(object sender, EventArgs e)
{
Clipboard.SetData(DataFormats.Rtf, richTextBox2.SelectedRtf);
Clipboard.Clear();
}
void PasteAction(object sender, EventArgs e)
{
if (Clipboard.ContainsText(TextDataFormat.Rtf))
{
richTextBox2.SelectedRtf
= Clipboard.GetData(DataFormats.Rtf).ToString();
}
}
private void richTextBox2_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Right)
{ //click event
//MessageBox.Show("you got it!");
ContextMenu contextMenu = new System.Windows.Forms.ContextMenu();
MenuItem menuItem = new MenuItem("Cut");
menuItem.Click += new EventHandler(CutAction);
contextMenu.MenuItems.Add(menuItem);
menuItem = new MenuItem("Copy");
menuItem.Click += new EventHandler(CopyAction);
contextMenu.MenuItems.Add(menuItem);
menuItem = new MenuItem("Paste");
menuItem.Click += new EventHandler(PasteAction);
contextMenu.MenuItems.Add(menuItem);
richTextBox2.ContextMenu = contextMenu;
}
}
我有2個問題:
- 在
richTextbox2
標記文本後,我需要模擬鼠標右鍵點擊看到剪貼粘貼複製菜單。 - 當我點擊複製,我不能將它粘貼到任何地方,因爲沒有什麼可以粘貼。我還沒有測試剪切和粘貼選項,但在複製後它不起作用。
當'CopyAction'被調用時,你設置剪貼板,然後將其清除。我相信那不是你的意思。 –
@ColeJohnson是的,忽略了它。 –
@ColeJohnson「它在代碼的頂部」與它有什麼關係?如果您清除剪貼板,當單擊「複製」菜單項時數據將消失,那麼您無需粘貼任何內容。 – Bit