Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
9 / 9 / 2
Регистрация: 21.05.2012
Сообщений: 53
1

Правильно ли создавать в проекте десятки новых форм?

05.04.2018, 20:44. Показов 1044. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Суть какая, есть проект (WinForms / WPF) работающий с БД (через entity framework), в которой этак десяток с лишнем таблиц. В проекте реализован справочник, через который можно редактировать / просматривать те или иные свойства (таблицы), ну и поскольку каждая таблица имеет уникальную структуру, сделать все отображения / редактирования через 1 форму я не понимаю как ( и возможно ли это вообще?), в результате для редактирования каждой таблицы БД, создаю отдельно:
1. Форму которая отображает данные из этой таблицы, в нужном для меня виде.
2. Форму которая позволяет отредактировать выбранные данные.

В результате дойдя до таблицы 10-той, заметил что количество форм в проекте уже перевалило за 20, лично для меня это не комфортно.

Вопрос - Так и должно быть, и мне стоит привыкать к огромному количеству форм в проектах, или существуют другие варианты решения таких задач?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.04.2018, 20:44
Ответы с готовыми решениями:

Как создавать дополнительные формы в проекте
Всем привет! Возник вопрос -- как создать второе окно? В него будут забиваться какие-то данные,...

Как в консольном проекте запретить создавать консоль
Например пользуясь dev-c++ в настройках компилятора было "Не создавать консольное окно" и программа...

Отслеживать создание новых папок и создавать статистику
Здравствуйте! Есть такая задача: Есть папки пользователей(работают за одним ПК, сменные мастера,...

Связь 2 форм в проекте
Добрый день! Помогите разобраться с проблемой. В проекте С# есть 2 формы, одна - основная, там...

12
1568 / 1447 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
05.04.2018, 20:50 2
fidesxfx, Недавно начал писать на java под андроид и там есть Fragment, одна форма и меняется только содержимое. На wpf еще не приходилось такое делать, но там вроде есть Frame
1
9 / 9 / 2
Регистрация: 21.05.2012
Сообщений: 53
05.04.2018, 20:56  [ТС] 3
Думал над этим, возможно я не прав, но по моему это мало что изменит, конкретизирую, 2 случая.

1. Мы отображаем данные пользователя.
2. Мы отображаем характеристики товара.

Придется на 1 форме, создать два фрейма, и заполнить их нужными для нас полями, потом один скрывать, второй показывать, но если таких случаев будет не 2 а 15, тогда на 1 форме будет 15 фреймов, как на меня та же каша получается что и с 15 формами.
0
1568 / 1447 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
05.04.2018, 21:04 4
fidesxfx, Фрейм 1, меняется содержимое его
0
9 / 9 / 2
Регистрация: 21.05.2012
Сообщений: 53
05.04.2018, 21:24  [ТС] 5
Возможно я не правильно объяснил.
В одном случае мне нужно например 7 текстовых элемента (TextBox) , и label, а в другом случае только 3 того и того. А еще и кнопки, для реакции на поведения пользователя.

В каком не будь другом случае, туда придется всунуть еще и Grid для отображения всей таблицы, выходит что мне нужно предвидеть все нужные элементы, и скрывать ненужные для каждого случая, что тоже не вариант.

Либо для каждого случая, создавать все элементы динамически, и программно настраивать их размещение, для соблюдения визуального стандарта, что по моему не очень то и просто, и возможно ли вообще?
0
1568 / 1447 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
05.04.2018, 21:30 6
fidesxfx, Под каждый случай создаешь View(UserControl например) и рендеришь его во фрейме
1
9 / 9 / 2
Регистрация: 21.05.2012
Сообщений: 53
05.04.2018, 21:52  [ТС] 7
То есть, надо реализовать паттерн MVVM, по факту.
Я правильно понял?
0
91 / 85 / 27
Регистрация: 29.10.2016
Сообщений: 928
05.04.2018, 22:03 8
fidesxfx, а нельзя просто сделать динамическое заполнение формы? т.е. у тебя 1 форма будет и ты вручную просто пишешь компоненты которые тебе надо. И вот при нажатии на какую то кнопку где тебе надо другая форма просто очищаешь все содержимое которое находится сейчас и создаешь новые компоненты в самом коде и так обратно если надо вернуться на предыдущую форму.
0
9 / 9 / 2
Регистрация: 21.05.2012
Сообщений: 53
05.04.2018, 22:09  [ТС] 9
6elka1703, ну наверное можно, но я не представляю даже сколько работы надо делать в таком случае.
Это же работа с БД, выходит надо создать нужное количество элементов, связать их с БД, чтобы выводились нужные значения, отобразить в нужных местах на форме, а для кнопок еще и вставлять функционал, в зависимости от отображенных данных.
Но возможно такой подход и будет правильнее.
0
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
05.04.2018, 22:14 10
Лучший ответ Сообщение было отмечено fidesxfx как решение

Решение

ничего ты с этим не сделаешь, будет и 100 и 200 форм, не суть что это Form, Window или UserControl и или еще какая-то фигня
привыкай просто
1
Неадекват
1492 / 1230 / 246
Регистрация: 02.04.2010
Сообщений: 2,789
05.04.2018, 22:15 11
Лучший ответ Сообщение было отмечено fidesxfx как решение

Решение

fidesxfx, задача элементарная на самом деле. В WinForms для отображения данных есть datagridview, а для редактирования обычно динамически генерируют форму с нужными полями. Индивидуальные формы обычно создают для каких то сильно уникальных наборов данных слишком затратных чтобы впихивать их в динамическую генерацию.
1
9 / 9 / 2
Регистрация: 21.05.2012
Сообщений: 53
05.04.2018, 22:19  [ТС] 12
m0nax, freeba, Спасибо.
0
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
05.04.2018, 22:26 13
Лучший ответ Сообщение было отмечено fidesxfx как решение

Решение

генерация разве что в сказках работает, таких добрых и милых сказках, типа AutoGenerateColumns=true и туда такой заливаешь select * from table, хахаха, рельный мир это JOIN по 5-15 таблицам, кастомные заголовки, группировки столбцов в bandle, кастомное форматирование половины столбцов(даты/числа/деньги/статусы), кастомная сортировка по хитрому значению которое не отображается, какие-нибудь ссылки в столбцах или кнопки, какая-нибудь выгрузка в сраный ехель по правой кнопке, подсветка строк или ячеек от левых условий и т.п
генерация даже не рассматривается в принципе, ее как бы нет вообще
2
05.04.2018, 22:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.04.2018, 22:26
Помогаю со студенческими работами здесь

Почему нельзя создавать несколько jquery элементов в MVC проекте?
Добрый день Не подскажите почему нельзя создавать несколько jquery элементов в MVC проекте? Вот...

Создание новых форм
Хотел создать заставку к форме с прогресс баром, анимацией. Делал так же как и в vcl приложении, то...

Как создавать скины для форм?
Можете подсказать уроки, видео, книгу. Был бы очень признателен!

Несколько форм в одном проекте
мне нужно создать две формы причем вторая вызывается по нажатию кнопки и еще там нужно передать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru