Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/21: Рейтинг темы: голосов - 21, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 23.08.2017
Сообщений: 71

После перехода на другую форму, при возврате все данные стираются

17.12.2017, 14:27. Показов 4749. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Я искал, искал, искал темы на подобии моей но не нашел ничего. Буду рад, если найдутся разрабы, которые уже реализовывали эту фишку.
Теперь подробнее о моей проблеме. Есть Form1 и Form2. На Form1 имеется datagridview. При передаче данных из datagrid Form1 в datagridview Form2 все работает нормально и стабильно.
Теперь когда мы совершили передачу данных а следовательно переход на Form2. то по нажатию кнопки назад все данные Form1 стираются. Есть ли хоть что то как реализовать возможность вернуться на предыдущую форму и видеть все данные, которые там были до перехода в Form2?
Данный вопрос не является фактическим, на деле же у меня процесс посложнее. Но мне нужны какие либо намеки или точные ответы по реализации фишки при возврате видеть данные, чтобы не стирались.
Я постарался максимально точно изложить суть моей проблемы. При необходимости объясню по другому.

Я заранее благодарен всем, кто откликнется!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.12.2017, 14:27
Ответы с готовыми решениями:

После перехода на другую форму закрыть предыдущую
Каков будет код чтобы при открытии второй формы,первая закрывалась?

Авторизация в приложении без перехода на другую форму
Кто может помочь? Цель такая, есть форма, нужно сделать так, чтобы после ввода логина и пароля происходил вход в программу но не на...

Как из одной формы перенести данные в другую форму при добавлении?
Привет, народ! Так вопрос. Есть таблица с пользователями. Есть две формы. В одной выпадающий список с пользователями и кнопка...

8
 Аватар для ViterAlex
8953 / 4865 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
17.12.2017, 15:25
Весь вопрос в том как именно ты передашь данные между формами? Как возвращаешься на первую форму? Думаю, тут типичная ошибка новичков: создание нового экземпляра формы.
Лучше всего, если ты покажешь код.
0
0 / 0 / 0
Регистрация: 23.08.2017
Сообщений: 71
17.12.2017, 15:28  [ТС]
ViterAlex, вы правы. Идет создание нового экземпляра формы. У меня вот так.
C#
1
2
3
Form16 f16 = new Form16(dt1);
this.Hide();
f16.Show();
И возврат идет так.
C#
1
2
3
Form3 f3 = new Form3();
this.Hide();
f3.Show();
dt1 - это название datagrida, который я передаю.
А можете тогда подсказать как правильнее тогда избежать очищения данных при возврате?
0
 Аватар для ViterAlex
8953 / 4865 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
17.12.2017, 17:53
Sierra, если ты вызываешь одну форму из другой, то вызывающая форма должна контролировать работу с вызываемой формой.
C#
1
2
3
4
5
6
7
8
9
10
11
12
private void button1_Click(object sender, EventArgs e)
{
    var f2 = new Form2();//создаём экземпляр вызываемой формы
    f2.FormClosed += F2_FormClosed;//подписываемся на событие закрытия
    Hide();//скрываем вызывающую форму
    f2.ShowDialog();//показываем вызываемую форму модально.
}
 
private void F2_FormClosed(object sender, FormClosedEventArgs e)
{
    Show();//Показываем вызывающую форму после закрытия вызываемой
}
Примерно так.
0
0 / 0 / 0
Регистрация: 23.08.2017
Сообщений: 71
17.12.2017, 18:12  [ТС]
ViterAlex, спасибо, сейчас проверю и отпишусь.

Добавлено через 16 минут
Я вставляю этот код в обработчик кнопки назад правильно? Если так то не работает. Либо я не туда вставляю код.
Мне например из 16 формы надо вернуться в 3.
C#
1
2
3
4
5
6
7
8
9
var f3 = new Form3();
f3.FormClosed += F2_FormClosed;//подписываемся на событие закрытия
Hide();
f3.ShowDialog();
 
private void F2_FormClosed(object sender, FormClosedEventArgs e)
        {
            Show();//Показываем вызывающую форму после закрытия вызываемой
        }
Пишу это все в обработчик кнопки назад но данные все равно стираются.
Или возможно я не так понимаю вас?
Извиняюсь за назойливость.
0
 Аватар для ViterAlex
8953 / 4865 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
17.12.2017, 18:14
Sierra, вызывающая форма это та, к которой тебе нужно вернуться. Ты не в той форме код размещаешь
0
0 / 0 / 0
Регистрация: 23.08.2017
Сообщений: 71
17.12.2017, 18:23  [ТС]
ViterAlex, так, хорошо. Этот код я пишу в той, к которой хочу вернуться. Тогда в той откуда возвращаюсь написать так?
C#
1
2
3
Form3 f3 = new Form3();
this.Hide();
f3.Show();
0
 Аватар для ViterAlex
8953 / 4865 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
17.12.2017, 18:36
Лучший ответ Сообщение было отмечено Sierra как решение

Решение

Цитата Сообщение от Sierra Посмотреть сообщение
Тогда в той откуда возвращаюсь написать так?
Её просто нужно закрыть. Всё остальное сделает вызывающая форма.
0
0 / 0 / 0
Регистрация: 23.08.2017
Сообщений: 71
17.12.2017, 18:39  [ТС]
ViterAlex, большое спасибо! Заработало! Простите, что пришлось вам мне объяснять еще.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.12.2017, 18:39
Помогаю со студенческими работами здесь

Теряется ссылка на объект после после перехода в другую сцену
И снова здравствуйте На сей раз проблема такова: У меня есть скрипт, позволяющий поднимать определенные предметы ( в инвентарь ),...

Как скопировать данные из одной формы, и вставить их на другую форму при нажатии на кнопку?
Скажите, пожалуйста, как можно скопировать данные из одной формы и вставить их на другую форму при нажатии на кнопку. Нужно реализовать...

Как в Delphi, при нажатии на кнопку, данные из одной формы перекинуть на другую форму?
При нажатии на кнопку сохранить должна октрыться следующая форма (в моём случаи это Form3), и данные фамили, отчества, имени и т.д. должны...

Не действует анимация после перехода на другую страницу
Когда я входу на страницу, все окей, но когда я перехожу на другую страницу в меню, то потом не работает анимация! * { margin:0; ...

Уничтожение данных сессии после перехода на другую страницу
Придумал такой способ сохранять введённые данные пользователем в форму регситрации $_SESSION = $_POST; <td...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru