Дочерний элемент WinForms MDI продолжает отвлекать вниманиеC#

Место общения программистов C#
Ответить
Anonymous
 Дочерний элемент WinForms MDI продолжает отвлекать внимание

Сообщение Anonymous »

Я пишу приложение WinForms MDI в .NET 8.
Его цель — предоставить пользователям возможность просматривать и редактировать несколько схем реляционных баз данных.
В приложении есть только одна MDI-форма, содержащая несколько дочерних форм.

Код: Выделить всё

// The main MDI parent.
public class FormMain: Form { }
// All MDI child forms except ONE are of the following type.
public class FormModelEditor: Form { }
Есть одна дочерняя форма, которой уделяется особое внимание (которая также кажется проблемной). Эта форма отвечает за отображение списка доступных схем, загружается в начале приложения и остается открытой как дочерняя MDI до тех пор, пока родительская форма не закроется.

Код: Выделить всё

public class FormModelCollection: Form { }
Если пользователь попытается закрыть эту форму, она просто скроется и ее можно будет отобразить с помощью кнопки на родительском элементе MDI.
Изображение

Вот чего я не понимаю. При нажатии на строку (как на скриншоте выше) создается новый дочерний элемент, но он остается в фоновом режиме даже после следующих действий:

Код: Выделить всё

var form = new FormModel(this);

form.Show();
form.Focus();
form.Activate();
form.BringToFront();
Обратите внимание, что ссылка на это является родительским элементом MDI, поскольку код выполняется родительским элементом.
Теперь я понимаю что что-то может быть не так в том, как я запускаю двойной щелчок по строке. НО обратите внимание на скриншоте, что при нажатии кнопки «НОВЫЙ» на родительском элементе MDI тот же код, что выше, дает тот же результат. Я не программировал форму виновника каким-либо особым образом, кроме как скрывать ее при закрытии.
Буду признателен за любые советы. Я буду рад рассказать подробнее.

Подробнее здесь: https://stackoverflow.com/questions/790 ... ling-focus
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»