如何粘贴带有剪贴板图像的文本,如Microsoft Word do C#



我想知道如何像单词一样粘贴剪贴板的内容Microsoft我的意思是例如,如果我想复制以下内容:

Some text 
*some image*
More text

并粘贴它就像我复制文本和文本之间的图像一样,我该怎么做?

我尝试使用HTML格式粘贴富文本框,但仍然一无所获...到目前为止,我只能粘贴没有格式的文本或带有标签的 HTML 文本也没有格式......

顺便问一下,有没有办法覆盖文本框的Ctrl + V粘贴方法?

谢谢

编辑:我正在研究WinForms

如果可以通过复制粘贴看到 RichTextBox 中显示的图像,则可以从代码中执行以下操作:

myRichTextBox.Rtf = Clipboard.GetText(TextDataFormat.Rtf);

简单的步骤,将富文本框的 Rtf 属性设置为从剪贴板以 Rtf 格式获取的值。

至于第一个问题,我不相信你可以用RichTextBox做到这一点。您可以单独粘贴图像,也可以仅粘贴文本(如果从网站复制了文本和图像)。但不幸的是,它不会同时粘贴两者。

这是之前的SO帖子,其中提出了一些建议。


至于另一个问题,如果要覆盖 CTRL+V 功能,则必须订阅 KeyDownKeyPress 事件:

 private bool IsPressedCtrlV = false;
 private void textBox1_KeyDown(object sender, KeyEventArgs e)
 {
     // You have access to modifiers in here, so you can detect the Control key
     IsPressedCtrlV = (e.Modifiers == Keys.Control && e.KeyCode == Keys.V);
 }
 private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
 {
     if (IsPressedCtrlV)
     {
         // When the key "press" is complete, handle ctrl-v however you want
         e.Handled = true;
         MessageBox.Show("No pasting allowed!");
     }
 }

最新更新