|
0 / 0 / 0
Регистрация: 06.05.2014
Сообщений: 15
|
|
Взаимосвязь 3-х форм06.05.2014, 01:03. Показов 3635. Ответов 53
Метки нет (Все метки)
Доброй ночи, дамы и господа, я долго искал решение в данном ресурсе и в итоге мои поиски не увенчались успехом.
Суть проблемы такова: 1-я форма главная, из неё вызываю 2-ю, в которой представляется информация, взятая из DGV 1-й формы (на данном этапе полёт нормальный), во второй форме по нажатию кнопки открывается третья, в которой используется информация из 2-й (полёт так же нормальный) и после редактирования должна записываться обратно в DGV 1-й формы(вот тут происходит конфуз). И я даже понял, почему такой конфуз происходит. после запуска 3-й формы, 1-ю, как лок. переменную, он видит как null. как от этого избавиться?
0
|
|
| 06.05.2014, 01:03 | |
|
Ответы с готовыми решениями:
53
Взаимосвязь форм Взаимосвязь проектов Взаимосвязь между 2-мя ListBox |
| 06.05.2014, 13:40 | |
|
Не по теме: nio, так задачка же элементарная... public свойство c private сеттером, и обработчик изменения контрола, присваивающий необходимое значение свойству в момент его изменения. Это первое что в голову пришло.
0
|
|
|
25 / 25 / 6
Регистрация: 26.09.2010
Сообщений: 295
|
|
| 06.05.2014, 14:14 | |
|
Ну ладно, покажите мне полный рабочий код с вашими примерами передачи данных, если Вы такие крутые программеры
0
|
|
|
|
|||
| 06.05.2014, 14:30 | |||
Более того ссылка приведённая мной решает проблему (при чём несколькими способами) передачи данных между формами (классами). Для человека желающего разобраться в проблеме этого вполне достаточно.
0
|
|||
|
25 / 25 / 6
Регистрация: 26.09.2010
Сообщений: 295
|
|
| 06.05.2014, 14:36 | |
|
Господа не "дети", покажите код который работает с вашими примерами, именно полный код программы а не 2-3 строчки, а то все горазды критиковать
Добавлено через 2 минуты ключи мне от вашей квартиры не нужны
0
|
|
|
|
|||||||||||
| 06.05.2014, 14:42 | |||||||||||
|
nio, да ладно вам... Будет пример.)))
SoloWay, вот он. Форма 1 (основная). На форме кнопка (по ее нажатию вызывается вторая форма) и текстовое поле.
1
|
|||||||||||
|
25 / 25 / 6
Регистрация: 26.09.2010
Сообщений: 295
|
|
| 06.05.2014, 14:45 | |
|
insite2012, Ваш код выглядит более вменяемо, чем выше приведенные примеры
0
|
|
|
|
|||||||||||
| 06.05.2014, 14:46 | |||||||||||
|
Пример "общения" через свойства
на первой форме в методе запускающем вторую форму:
на второй: (на форме должен быть richTextBox1)
0
|
|||||||||||
|
|
|
| 06.05.2014, 14:47 | |
|
SoloWay, это стандартный пример использования событий. В нем нет ничего необычного и невозможного. События использованы специально, для передачи данных в реальном времени.
0
|
|
|
0 / 0 / 0
Регистрация: 06.05.2014
Сообщений: 15
|
|
| 06.05.2014, 15:27 [ТС] | |
|
у меня DGV связан с БД, обновление данных идёт через dataadapter.update, я бы рад сделать по-умному, да вот только опыта и знаний пока не хватает для этого, поэтому я и хочу внести изменения в DGV, а затем уже апдейтить в БД.
0
|
|
|
|
|
| 06.05.2014, 15:45 | |
|
booleanhater, я не вижу вашей реализации, но могу предложить обновлять данные в кэше (DataSet), его передавать из формы в форму и информацию из него заносить в datagrid.
0
|
|
|
0 / 0 / 0
Регистрация: 06.05.2014
Сообщений: 15
|
||||||
| 06.05.2014, 18:12 [ТС] | ||||||
|
Благодарю за помощь, однако таковой вариант предполагает почти полную переработку проекта, на что у меня не хватит ни времени, ни нынешних знаний. По сути я в C# почти полный 0, эту среду я встретил впервые.
В любом случае я решил эту проблему иным путём, я из 3-й формы загружаю информацию ообратно во 2-ю, а во 2-й уже в DGV 1-й. Тут меня постигла новая неудача: в DGV некоторые ячейки хранят информацию типа nvachar, а я туда пытаюсь залить полученные при редактировании данные типа string, я уже понял, что надо их перебить в char, только вот как это лучше сделать? вопрос этот меня терзает не потому что я не могу представить строку как массив символов, а потому что потом оно в DGV будет выглядеть так: "Массив char[]" или посимвольно прибавлять к ячейке DGV символы из строки? и еще, какой лучше сделать триггер для изменения?
0
|
||||||
|
|
|
| 06.05.2014, 18:22 | |
|
booleanhater, а вы расскажите, почему у вас такая сложная логика-3 формы, из одной в другую... Это действительно необходимо? Может можно как-то оптимизировать проект?
0
|
|
|
0 / 0 / 0
Регистрация: 06.05.2014
Сообщений: 15
|
|
| 06.05.2014, 18:32 [ТС] | |
|
Хозяин - барин)
проект у меня является курсовой работой. суть проекта - создать программное обеспечение, обрабатывающее базу данных, и саму БД, естественно, тоже создать. изощрённая архитектура программы есть ни что иное, как результат прихоти моей преподавательницы. с другой стороны её можно понять, она хочет мне поставить 5, но заслуженную, т.е. чтоб я сделал продукт такого уровня, чтоб любой не имевший с этой программой общения пользователь смог её запустить и сделать свои дела без особых задумок на тему "какого №#я тут так всё сложно?!". Именно поэтому в 1-й форме у меня чистое представление БД через DGV, пару кнопок(добавление, удаление, редактирование), менюстрип и контексменюстрип удалось реализовать. Во 2-й форме представление полной информации по одной записи (+представление, удаление, добавление фото к записи +кнопка редактирования, которая уже вызывает 3-ю форму). Если есть особое желание, могу скинуть проект или же определенные части кода.
0
|
|
|
|
|
| 06.05.2014, 18:42 | |
|
booleanhater, лучше ТЗ. Ваш код мне мало что скажет, а вот само задание интересует. Какой тип БД можно использовать?
1
|
|
|
0 / 0 / 0
Регистрация: 06.05.2014
Сообщений: 15
|
|
| 06.05.2014, 19:00 [ТС] | |
|
Microsoft® SQL Server® Compact
локальная база данных с расшинением .sdf
0
|
|
|
|
|
| 06.05.2014, 19:03 | |
|
booleanhater, понятно. А описание с полным ТЗ имеется?
0
|
|
|
0 / 0 / 0
Регистрация: 06.05.2014
Сообщений: 15
|
|
| 06.05.2014, 19:18 [ТС] | |
|
Теоретическим Заданием?
если да, то врятли, формально заданием является разработка ПО, выполняющего прикладную задачу, коей в моём случае является обслуживание базы данных учителей в школе. остальные заморочки - чистого рода советы, в какую сторону мне двигаться (в смысле как это должно будет выглядеть в итоге) По актуальному для меня вопросу: можно ли как-то обратиться к текстБоксу, чтоб его значение выводилось обратно с таким же типом, как и вводилось?
0
|
|
|
|
|
| 06.05.2014, 19:29 | |
|
booleanhater, ну так вот уже, значит БД учителей. Откуда вы взяли про именно 3 формы? Тоже указание. Вот и расскажите, как вы видите готовую реализацию проекта (формы, контролы, где и какие, что делают и т.д.).
1
|
|
|
0 / 0 / 0
Регистрация: 06.05.2014
Сообщений: 15
|
|
| 06.05.2014, 19:48 [ТС] | |
|
Преподавательница сказала, что желает видеть результат след. образом:
в 1-й форме только представление таблицы, т.е. DGV по щелчку, либо нажатию кнопки, либо выбору эл-та контекстного меню, происходит вызов 2-й формы, в которой будет полная информация по выбранной строке DGV 1-й формы (т.е. досье одного из учителей). Это мной было сделано, только вот на тот момент я все изменения, кроме загрузки или удаления фотографии учителя(что делалось во 2-й форме), делал непосредственно в DGV 1-й. Принёс, показал, говорит - плохо! Изменения надо производить из 2-й формы, где полностью уже есть вся информация по опред. учителю. Ну я и решил создать 3-ю форму, и я это уже почти доделал, остались маленькие нюансы. одним из такий сейчас является "склеивание" двух переменных типа char, (я хочу в ячейку DGV в цикле записывать символы изменной строки, путём суммирования).
0
|
|
|
|
|
| 06.05.2014, 20:00 | |
|
booleanhater, я подумаю. Может что и придумается. Сроки сдачи работы? Наверное, еще вчера?
0
|
|
| 06.05.2014, 20:00 | |
|
Передать из форм 1, в форм 3.
Связывание двух форм по расположению на мониторе(Синхронизация форм) Как по закрытию форм 2 сделать определенное действие в форм 1? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 30. Фосфорный и азотный замки по "честному" закону лимитирования Либиха
anaschu 16.07.2026
Основные достижения за последние дни
1. Механизм отложенного высвобождения фосфора
Добавлен специальный пул для медленного разложения меланизированных гиф ЕСМ
Реализована разная скорость. . .
|
Запрет пометки на удаление и отмены проведения
Maks 16.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "ПутевойЛист" разработанного в КА2.
Задача: запретить помечать на удаление и отменять проведения путевого листа при условии, если он сдан. . .
|
Как надо было делать правильно - вообще не слушать ИИ, его дело - текст.
Hrethgir 15.07.2026
А вообще надо было делать не так, чтобы не исправлять ошибку https:/ / www. cyberforum. ru/ blogs/ 223907/ 10996. html , правильно было : удалил кнопку, а потом добавил её.
Всё это стресс конечно. Почему?. . .
|
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот.
Ларри Уингет
|
|
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
|
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров
В текущей версии модели успешно реализован ключевой механизм. . .
|
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям
Реализованные компоненты:
Механизм закисления почвы через протонную помпу
Конкуренция между типами микориз
pH как триггер сукцессии
C/ P соотношение. . .
|
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
|