Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#标签不可拖动:_C#_Winforms_Drag And Drop - Fatal编程技术网

c#标签不可拖动:

c#标签不可拖动:,c#,winforms,drag-and-drop,C#,Winforms,Drag And Drop,当我尝试将标签拖到富文本框中时,图标保持为拒绝。我的标签位于面板中,与富文本框分开。如何将标签中的文本复制到富文本框中?现在我得到了一个带线的圆,好像我没有将txtText.AllowDrop设置为true,但是我在表单加载时就这样做了 谢谢好的,我发现RichTextBox没有标准的拖放实现。我有一个名为EnableAutoDragDrop的属性,只要将其设置为true,它就会自动处理所有事情。除此之外,您不需要为其注册任何事件: richTextBox1.EnableAutoDragDrop

当我尝试将标签拖到富文本框中时,图标保持为拒绝。我的标签位于面板中,与富文本框分开。如何将标签中的文本复制到富文本框中?现在我得到了一个带线的圆,好像我没有将txtText.AllowDrop设置为true,但是我在表单加载时就这样做了


谢谢

好的,我发现
RichTextBox
没有标准的拖放实现。我有一个名为
EnableAutoDragDrop
的属性,只要将其设置为
true
,它就会自动处理所有事情。除此之外,您不需要为其注册任何事件:

richTextBox1.EnableAutoDragDrop = true; //Just this even without AllowDrop = true
//RichTextBox doesn't even have DragOver event exposed, we have to cast it to Control to expose the base DragOver event
((Control)richTextBox1).DragOver += (s, e) => 
{
    e.Effect = DragDropEffects.Copy;
};

在不注册DragOver事件处理程序的情况下,在进行拖放操作时必须使用(按住/按)Control键。

谢谢您的建议,但是用您的事件替换我的lblWord\u MouseDown事件不会产生任何变化。@AuntJamaima默认值
SetText(“”)
使用1个参数将文本设置为
Unicode格式
,同时检查
DragEnter
事件处理程序中的
ANSI格式
。我更新了代码,现在应该可以工作了。我对您的更改在应用程序中的行为没有任何差异。我现在已经发布了全部代码。文本框是一个富文本框。我有一个非常类似的应用程序的不同版本,它似乎与常规文本框一起工作。这会有什么不同吗?@AuntJamaima好的,我更新了答案,这就是
RichTextBox
的问题。谢谢。我在表单加载中添加了这个调用,虽然与常规文本框肯定有所不同,但它仍然有效。非常感谢。