我有一个自定义的RichTextBox控件,该控件派生自Windows提供的RichTextBox控件。
虽然DragEnter事件被捕获,但我无法捕获dragDrop事件,但我不知道为什么dragDrop事件不是。
我将以下属性设置为true:
EnableAutoDragDrop=true;
AllowDrop=true;
我错过了什么?
答案 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)
只是一个猜测 - 也许你错过了正确设置拖拽效果。