Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Drag and drop in read only rich text box

Tags:

c#

richtextbox

I am trying implement drag and drop feature in RichTextBox (windows common control). It works fine using the code shown below. However, the drag drop event is not getting triggered when I set the ReadOnly property to true. Is there anything that I am missing? or is that the right behaviour ? Please advice.

private void rtb_dragdrop(object sender, DragEventArgs e)
{
    Console.WriteLine("Test");       
}

private void rtb_dragenter(object sender, DragEventArgs e)
{
    e.Effect = DragDropEffects.Copy;
}
like image 907
Alan B Avatar asked Jan 26 '26 01:01

Alan B


1 Answers

Obviously, setting the ReadOnly property to true in a RichTextBox will turn off the ability to do Drag and Drop operations.

A simple hack to mimic a read only RichTextBox:

public partial class Form1 : Form {

  public Form1() {
    InitializeComponent();
    rtb.EnableAutoDragDrop = true;
    rtb.KeyDown += new KeyEventHandler(rtb_KeyDown);
  }

  void rtb_KeyDown(object sender, KeyEventArgs e) {
    e.SuppressKeyPress = true;
  }
}

Now your Drag and Drop operation should work automatically with the EnabledAutoDragDrop property set to true. No need to handle those drag enter and drop events.

like image 116
LarsTech Avatar answered Jan 27 '26 15:01

LarsTech



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!