在RichTextBox控件中,DragEnter事件会触发,但DragDrop事件不会触发

时间:2016-03-06 23:23:16

标签: vb.net winforms events drag-and-drop event-handling

我在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”,但永远不会发生删除。文本”。

我该如何解决这个问题?

谢谢。

0 个答案:

没有答案