在C#中使用WebBrowser控件的url drop

时间:2013-08-14 09:19:04

标签: c# winforms c#-4.0 drag-and-drop webbrowser-control

我想在C#中使用WebBrowser控件的drop功能。不幸的是,虽然我将AllowWebBrowserDrop属性设置为true,但它不起作用。

为了测试,我用一个文本框和一个webbrowser控件编写了这个小程序:

public Form1()
{
    InitializeComponent();
    webBrowser1.AllowWebBrowserDrop = true;
    textBox1.Text = "http://www.google.com";
}

private void textBox1_MouseMove(object sender, MouseEventArgs e)
{
    if (e.Button == System.Windows.Forms.MouseButtons.Left)
        DoDragDrop(textBox1.Text, DragDropEffects.Link);
}

private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
    MessageBox.Show(e.Url.AbsoluteUri);
}

DoDragDrop方法正确执行,但是当MessageBox上的字符串从TextBox上删除时,我从未看到WebControl出现。由于WebControl没有提供通常的阻力&丢失事件我迷失了。

如何让网址降至WebBrowser控件工作?

1 个答案:

答案 0 :(得分:2)

使用以下方法启动FileDrop拖动:

DataObject dObj = new DataObject();
var paths = new System.Collections.Specialized.StringCollection();
paths.Add(textBox1.Text);
dObj.SetFileDropList(paths);
textBox1.DoDragDrop(dObj, DragDropEffects.Link);