【问题标题】:Capture DragDrop Event of RichTextBox C#捕获 RichTextBox C# 的 DragDrop 事件
【发布时间】:2009-09-23 13:26:31
【问题描述】:

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

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

我将以下属性设置为 true:

EnableAutoDragDrop=true;
AllowDrop=true;

我错过了什么??

【问题讨论】:

    标签: c# drag-and-drop richtextbox


    【解决方案1】:

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

        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

    【讨论】:

      【解决方案2】:

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

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

      设置 EnableAutoDragDrop=false 否则您的用户将拥有 2 个条目(1 个重复),而不仅仅是一个条目。例如。用户选择“cat5”,当放入 RichTextBox 时,“cat5”出现两次。

      【讨论】:

      • 这真的很有帮助。这就是实际解决它的方法:EnableAutoDragDrop=false; AllowDrop=true;
      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-01
        • 1970-01-01
        • 2018-04-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多