我想在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
控件工作?
答案 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);