将InternetExplorer URL拖放到C#RichTextBox

时间:2018-10-07 09:55:44

标签: c# richtextbox

在IE中,如果将地址栏中URL旁边的图标拖动到桌面上,则URL的快捷方式将出现在桌面上。 这也可以将其拖到写字板和Word中。

但是,我无法通过RichTextBox在C#应用程序中使用它。 确实适用于普通文本框。

我已确保IE启用了拖放功能。 (我正在使用IE11)

IE不在保护模式下运行。但是,以防万一,我尝试输入here到HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Internet Explorer \ Low Rights \ DragDrop(和64bit密钥)。

是否以用户或管理员身份打开IE&MyApp并关闭UAC都无关紧要,所以与this无关。

这是我的DragEnter()

private void TXT_DragEnter(object sender, System.Windows.Forms.DragEventArgs e)
{
   if (e.Data.GetDataPresent("FileDrop", false))
   {
       e.Effect = DragDropEffects.Link;
   }                                
   else if (e.Data.GetDataPresent("UniformResourceLocator", false))
   {
       e.Effect = DragDropEffects.Copy;
   }
   else e.Effect = DragDropEffects.None;
}

当我将IE链接拖到RichTextBox中时,我确实进入了DragEnter并陷入了“ UniformResourceLocator”情况。

具有常规TextBox e.AllowedEffect =链接,但具有RichTextBox作为目标e.AllowedEffect =复制|移动滚动

无论我将e.Effect设置为什么,光标都不会改变,并且DragDrop()也不会被调用。 香港专业教育学院尝试e.Effect = DragDropEffects.Copy和.Link和.Move和.Scroll甚至e.Effect = e.AllowedEffect

任何帮助或可能的解决方法都很棒!

0 个答案:

没有答案