捕获RichTextBox C#的DragDrop事件

时间:2009-09-23 13:26:31

标签: c# drag-and-drop richtextbox

我有一个自定义的RichTextBox控件,该控件派生自Windows提供的RichTextBox控件。

虽然DragEnter事件被捕获,但我无法捕获dragDrop事件,但我不知道为什么dragDrop事件不是。

我将以下属性设置为true:

EnableAutoDragDrop=true;
AllowDrop=true;

我错过了什么?

3 个答案:

答案 0 :(得分:2)

丹尼尔在这里可能是正确的:

    private void DragOver(object sender, System.Windows.Forms.DragEventArgs e) 
    {
        if (!e.Data.GetDataPresent(typeof(System.String))) {

            e.Effect = DragDropEffects.None;
            DropLocationLabel.Text = "None - no string data.";
            return;
        }

另见以下示例:

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.dodragdrop.aspx

答案 1 :(得分:1)

您需要在RichTextBox中使用DragDrop和DragOver。

http://www.experts-exchange.com/Programming/Languages/C_Sharp/Q_26532918.html

设置EnableAutoDragDrop = false或您的用户将有2个条目(1个重复),而不只是一个条目。例如。用户选择“cat5”,当在RichTextBox中删除“cat5”时出现两次。

答案 2 :(得分:0)

只是一个猜测 - 也许你错过了正确设置拖拽效果。