繁体   English   中英

如何在Richtextbox控件中进行复制剪切粘贴?

[英]How can i make copy cut paste in richtextbox control ?

我现在尝试的是在richTextBox1 mouseup事件以及每个动作的事件中:

private void richTextBox1_MouseUp(object sender, MouseEventArgs e)
        {
            if (e.Button == System.Windows.Forms.MouseButtons.Right)
            {
                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);

                richTextBox1.ContextMenu = contextMenu;
            }
        }

        void CutAction(object sender, EventArgs e)
        {
            richTextBox1.Cut();
        }

        void CopyAction(object sender, EventArgs e)
        {
            Clipboard.SetData(DataFormats.Rtf, richTextBox1.SelectedRtf);
            Clipboard.Clear();
        }

        void PasteAction(object sender, EventArgs e)
        {
            if (Clipboard.ContainsText(TextDataFormat.Rtf))
            {
                richTextBox1.SelectedRtf
                    = Clipboard.GetData(DataFormats.Rtf).ToString();
            }
        }

有两个问题:

  1. 当我在rcihTextbox中标记文本并单击鼠标右键时,只有当我再次单击鼠标右键时,什么也不会发生,我会看到菜单“剪切复制粘贴”。 为什么第一次右键单击时未显示菜单?

  2. 当我进行“复制”时,第二个问题是单击“复制”,然后我进入chrome浏览器并尝试将其粘贴为空。粘贴为空,因为它根本没有将其复制。

我现在再次检查,只有Cut在工作。 如果我执行“复制”操作,则不会复制任何内容,也无法粘贴到顶部的Chrome地址栏中。 或者,如果我从chrome的exmaple复制了我搜索过的内容:世界,那么richTextBox中的粘贴为空。

我希望能够从richTextBox控件自身内部以及从其他外部程序(如记事本chrome ie甚至其他richtextbox控件)复制/剪切/粘贴。

由于右键单击后进行了设置,因此未显示ContextMenu。 尝试在MouseDown事件上进行设置。 当您单击复制时,您在剪贴板中设置了文本,但是在使用Clipboard.Clear()之后将其删除了,所以我不知道您在写这行时的想法,只是删除它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM