2016-02-23 2 views
1

У меня есть эта странная проблема, с которой я никогда не сталкивался раньше. Я сделал несколько поисков в Интернете и нашел людей с той же проблемой, но никаких правильных исправлений (по крайней мере, я не могу найти).C# Текстовое поле в дочерней форме MDI - странное поведение

В принципе, у меня есть приложение C# WinForm запускает дочерние формы и добавляет их в элементы управления основной формы (поэтому вместо запуска дочерних форм в виде отдельного окна они запускаются в главном окне приложения).

Странное поведение заключается в том, что любые элементы управления TextBox в дочерних формах не допускают ввода мыши. Если я попытаюсь щелкнуть в TextBox, чтобы поместить курсор в определенную точку текста, курсор всегда переходит к первому символу. Я могу передвигаться с помощью клавиатуры, но не с помощью мыши.

Я поставил главную форму как MDI контейнер (this.IsMdiContainer = TRUE), а также установить параметры дочерней формы правильно:

childForm.TopLevel = false; 
childForm.AutoScroll = true; 
childform.Parent = parentForm; 
parentForm.Controls.Add(childForm); 

я первоначально имел загрузку childForm внутри панели, но удалил панель, так как нет параметра IsMdiContainer для панели управления, но загрузка его внутри основной формы тоже не работает. Странно, мужик. Weird.

Любые подсказки?

+1

'и также установить параметры формы ребенка правильно:' Если childForm является МДИ ребенка, вы должны установить childForm.MdiParent имущество. Детским формам MDI также требуется нормальная значительная граница. – LarsTech

+0

Спасибо, помощник. Мы всегда скучаем по мелочам, да? :) –

ответ

1

Его не Родитель, его MdiParent:

childForm.MdiParent = this; //(or parentForm) 
+0

Если я сделаю это изменение, я получаю исключение, которое гласит: «Форма не может быть добавлена ​​в коллекцию Controls, которая имеет действительный родитель MDI» –

+1

Хорошо, я удалил this.Controls.Add (childForm) и теперь это работает. Я полагаю, как только я установил параметр MdiParent, дочерний файл больше не нужно добавлять вручную в коллекцию управления parentForm? –

Смежные вопросы