RichTextBox EnableAutoDragDrop = true在删除ListBox项时需要按下CTRL键吗?

时间:2010-04-08 15:15:36

标签: richtextbox

在使用EnableAutoDragDrop = true将ListBox项放入RichTextBox时,不确定如何解决必须使用CTRL键的问题...

使用AllowDrop = true删除TextBox不使用CTRL键。

使用VS2008 .net framework 3.5

2 个答案:

答案 0 :(得分:2)

扩展上一个答案...

Web上对此问题的大多数讨论只关注设置AllowDrop = true;,并实现对富文本框的DragDrop和DragEnter事件的覆盖。如果您按照他们的建议并仅将光标设置在DragEnter事件上,那么您将发现必须按下Ctrl键才能看到您选择的光标。

您可以轻松删除拖动时按Ctrl键的需要。

除DragEnter外,还实现DragOver事件。在此处理程序中,重复您在DragEnter中使用的相同逻辑,再次选择要显示的光标。这是一个简单的例子,只是强制它显示复制光标,与是否按下Ctrl键无关。

private void RichTextBox1_DragOver ( object sender, DragEventArgs e )
{
        e.Effect = DragDropEffects.Copy;
}

答案 1 :(得分:0)

这是一个在VS2005 / 2008中正常运行的解决方案:

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

您的RichTextBox中需要DragDrop和Dragover。