Отказ от ответственности: я делал CRUD, потому что не знаю, как долго, но сейчас я только начинаю с моим первым приложением winforms.
Итак, несколько смешанных идей:
В нашей текущей системе (написанной с использованием Centura / Gupta) мы используем MDI-подобный подход.
Я думаю, что важно позволить пользователю начать работать с новой записью, не заставляя его закрывать свою текущую работу, поэтому всегда отображается список открытых окон, позволяющий быстро переключаться между различными формами. Пример:
(источник: pingmbh.de )
Список открытых окон в левом нижнем углу.
Также эта система позволяет открывать одну запись из другой, например, открыть клиента, показать заказы этого клиента, дважды щелкнуть один из его заказов, чтобы открыть его и т. д.
Теперь о winforms: после некоторого исследования, я отказался от MDI и вместо этого использовал форму, содержащую некоторые SplitContainers. Одна из этих панелей контейнера показывает список открытых окон, другая показывает текущую форму. Поскольку я не нашел способа показать форму на панели, формы реализованы как пользовательские элементы управления. Основная форма отслеживает открытые окна и отображает их в списке окон. Если пользователь нажимает на окно в списке или открывает ту же запись где-то еще в программе, соответствующая панель выводится на передний план. Изображение незавершенного производства:
(источник: pingmbh.de )
Подумайте о том, чтобы отделить выбор существующих записей от редактирования этих записей, то есть показать существующие записи в некоторой таблице (например, в виде таблицы) с возможностями фильтрации и поиска и позволить пользователю дважды щелкнуть эти записи, чтобы редактировать их.
Я заметил на вашем скриншоте, что у вас есть кнопки «Вставить» и «Обновить». Это для создания новых записей и сохранения существующих записей? Я думаю, что лучший подход - дать пользователю кнопку «Создать», а затем открыть форму с кнопками «Сохранить» и «Отмена». Пользователь может не всегда помнить, начал ли он редактировать новую или существующую запись.
Кстати, экран выбора - хорошее место для кнопки «Новая запись».