我想将网页上的一个链接拖进自己的winform窗口中,并获取此链接的标题和Url,请问各位大虾应该怎样用C#实现.

解决方案 »

  1.   

    IE是不 支持 地址的拖放的
    除非 你安装 一些activex插件 可以 拖放这个地址
    或用遨游这样的浏览器
      

  2.   

    不好意思,我指的链接是网页里的一个链接,比较某一个新闻链接或是一个软件的下载地址等等,flashget等软件有类似的功能,可以直接将下载的链接拖入其中及可.
      

  3.   

    http://www.21tx.com/dev/2005/05/04/13814.html
    这个 是vb 实现的
      

  4.   

    private void textBox1_DragEnter(object sender, System.Windows.Forms.DragEventArgs e)
    {
    e.Effect= DragDropEffects.Link;
    IDataObject data= e.Data;object obj= data.GetData("System.String", true);
    this.textBox1.Text= obj.ToString();
    }
      

  5.   

    如下的代码可以接收一个链接(Form1.AllowDrop=true才行,且一定要是链接以下代码才有效):
    private void Form1_DragEnter(object sender, DragEventArgs e)
    {
    if (!e.Data.GetDataPresent(typeof(System.String)))
    {
    e.Effect = DragDropEffects.None;
    return;
    }
    if ((e.AllowedEffect & DragDropEffects.Link) == DragDropEffects.Link)
    {
    e.Effect = DragDropEffects.Link;
    }
    }private void Form1_DragOver(object sender, DragEventArgs e)
    {
    if (!e.Data.GetDataPresent(typeof(System.String)))
    {
    e.Effect = DragDropEffects.None;
    return;
    }
    if ((e.AllowedEffect & DragDropEffects.Link) == DragDropEffects.Link)
    {
    e.Effect = DragDropEffects.Link;
    }
    }private void Form1_DragDrop(object sender, DragEventArgs e)
    {
    if (e.Data.GetDataPresent(typeof(System.String)))
    {
    if (e.Effect == DragDropEffects.Link)
    {
    string item = (object)e.Data.GetData(typeof(System.String)) as string;
    MessageBox.Show(item);
    }
    }
    }
      

  6.   

    如果拖动的部分有除链接外的数据,那么可能拖动操作会不成功,因为这时AllowedEffect的值会发生变化,所以可能实现不了.