我在VB.NET中有一个测试Windows窗体应用程序,它由一个Form,一个RichTextBox,一个Label和一个Timer组成。我需要从Mozilla Firefox浏览器窗口执行拖放操作到RichTextBox,即我需要从地址栏中拖放网页中的文本和网页URL。
以下是该应用程序的测试代码:
Public Class Form1
Private Sub RichTextBox1_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles RichTextBox1.DragEnter
If e.Data.GetDataPresent(DataFormats.Text) Then
Label1.Text = "Status: DragEnter"
Timer1.Enabled = True
e.Effect = DragDropEffects.Copy
End If
End Sub
Private Sub RichTextBox1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles RichTextBox1.DragDrop
Label1.Text = "Status: DragDrop"
Timer1.Enabled = True
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Label1.Text = "Status:"
Timer1.Enabled = False
End Sub
End Class
当我运行此应用程序时,我可以从网页上拖放文本,这两个事件都会触发。但是当我尝试从地址栏拖放网页URL时,只有DragEnter事件触发,但DragDrop事件不会触发,因此尽管创建了DataObject并且它确实包含“DataFormats”,但永远不会发生删除。文本”。
我该如何解决这个问题?
谢谢。