Alan B
Alan B

Reputation: 2289

Drag and drop in read only rich text box

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;
}

Upvotes: 3

Views: 1796

Answers (1)

LarsTech
LarsTech

Reputation: 81620

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.

Upvotes: 3

Related Questions