在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
任何帮助或可能的解决方法都很棒!