У меня есть DragDrop
и DragEnter
события на моем SplitContainer.Panel
:RichTextBox блоки DragDrop событий
splitContainer.Panel.DragDrop += new System.Windows.Forms.DragEventHandler(this.splitContainerPanelDragDrop);
splitContainer.Panel.DragEnter += new System.Windows.Forms.DragEventHandler(this.splitContainerPanelDragEnter);
Он отлично работает с каждым контролем внутри SplitContainer.Panel
кроме RichTextBox
управления.
Так DragDrop/DragEnter прекрасно работает каждый элемент управления внутри SplitContainer, за исключением контроля, который отмечен желтым цветом.
Что я пробовал:
1) Установить
RichTextBox.AllowDrop = false;
Так что я даже DragEnter недоступен с "действие не разрешено" курсора.
2) Установить
RichTextBox.AllowDrop = true;
После этого курсор в порядке, но он не работает, потому что ожидает дополнительный DragEventHandler
в другом случае он не работает.
3) Установить
RichTextBox.EnableAutoDragDrop=false;
RichTextBox.AllowDrop=true;
тот же результат, как 2) варианта.
Я не хочу, чтобы установить DragDrop
/DragEnter
событие для каждыйRichTextBox
внутри SplitContainer, потому что внутри FlowLayoutPanel
они создаются динамически.
Вопрос в следующем: есть ли какой-либо метод, как e.PreventDefault
аналог в C#? Или что я могу сделать, кроме настройки событий для каждого RichTextBox
, чтобы заставить его работать?
Вы пробовали [это] (HTTP: // StackOverflow .com/questions/1465988/capture-dragdrop-event-of-richtextbox-c-sharp? rq = 1): 'EnableAutoDragDrop = false; AllowDrop = true; ' – TaW
Я не совсем понимаю, что вы хотите –
Я хочу, чтобы события DragDrop/DragEnter работали над КАЖДОМ контролем внутри SplitContaner.Panel, но он не работает с RichTextBox. – DEADMC