在使用EnableAutoDragDrop = true将ListBox项放入RichTextBox时,不确定如何解决必须使用CTRL键的问题...
使用AllowDrop = true删除TextBox不使用CTRL键。
使用VS2008 .net framework 3.5
答案 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。