Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
5 / 5 / 1
Регистрация: 30.06.2015
Сообщений: 41
1

Через Form1 открывают Form2 там открывается Form3 которая меняет данные в Form1. Но они не меняются

18.07.2017, 11:19. Показов 741. Ответов 1

В первой форме Main по нажатию кнопки вызываю другую форму
C#
1
2
3
4
5
6
private void Button_AddVetrina(object sender, EventArgs e)
        {
            AddTovarVetrina ifrm = new AddTovarVetrina();
            ifrm.Owner = this;
            ifrm.ShowDialog();
        }
В открытой форме AddTovarVetrina нажимаю на кнопку и вызываю другую форму
C#
1
2
3
4
5
6
private void AddPerson_Click(object sender, EventArgs e)
        {
            AddPerson ifrm = new AddPerson();
            ifrm.Owner = this;
            ifrm.Show();// отображаем AddPerson
        }
А уже в 3й форме AddPerson нажимаю кнопку что бы сменить данные в таблице в форме Main. Но они не меняются
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
private void Button_Save(object sender, EventArgs e)
        {
            Main main = this.Owner as Main;
            if (main != null) // тут пишет что main==null и поэтому не работает дальше ничего
            {
                if (TextBoxFIO.Text != "")
                {
                    PersonFIO = TextBoxFIO.Text; // ФИО
                    PersonAdres = TextBoxAdresPerson.Text; // Адрес
                    main.dataGridView3.Rows.Add("",PersonFIO, PersonAdres);
                }
                this.Close();
            }
        }

dataGridView3 имеет 3 колонки и Public.

Но если в первой форме Main нажать на кнопку которая сразу вызывает форму для редактирования, то все добавляется
C#
1
2
3
4
5
6
private void Button_AddPerson(object sender, EventArgs e)
        {
            AddPerson ifrm = new AddPerson();
            ifrm.Owner = this;
            ifrm.ShowDialog();// отображаем AddPerson
        }
Как сделать что бы данные из Main->AddTovarVetrina->AddPerson->Main шли так.
А то только так работает Main->AddPerson->Main.

По задумке программы надо и от туда и от туда иметь возможно сменить данные.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.07.2017, 11:19
Ответы с готовыми решениями:

Перевести данные с Form1 на Form2
Всем добрый день. У меня есть Form1 и Form2. в форме 1 есть Датагрид в нем данные из экселя....

Как передать данные из Form2 в Form1
Привет. Есть две формы. На Form1 находиться listView1 с столбцами "Имя" "Фамилия". Я открываю с...

Как передать данные между Form1 и Form2?
Есть клас Form1:Form. Надо передать значения в класс Form2 и назад. Как реализовать через get;set?

Передать данные из TexBox Form2 в ListView Form1
По нажатию на кнопку открывается форма2 там 3 текстбокса. Заполяю и передаю в Листвью первой формы....

1
359 / 286 / 76
Регистрация: 21.06.2016
Сообщений: 1,115
18.07.2017, 13:10 2
Не работать с родителями форм, а работать с делегатами/событиями. Избавитесь от 99.99% глюков, связанных с передачей параметров между формами. Также забыть о public контролах как таковых. Открытыми (в крайних случаях) могут быть только свойства. А лучше пользоваться отдельными классами, там уже делайте что хотите и как хотите (в разумных рамках ). А Ваш пример - антипаттерн в чистом виде (в том виде, что через родителя у родителя хотите достучаться до контрола).
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.07.2017, 13:10

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Как изменить параметры в Form2 через Form1 ?
Здравствуйте! Предположим что на Form1 имеется элемент Кнопка. При нажатии на неё эта кнопка...

Изменение текста label в Form1 через button на Form2
Везде уже перечитал, сделал вродь правильно, но не работает почему-то... В свойствах label стоит...

Как сделать, чтобы Form1 не закрывалась пока не закрылись вспомогающие Form2, Form3
Как сделать, чтобы Form1 не закрывалась пока не закрылись вспомогающие Form2, Form3...???

Как написать функцию для Буттон1(Которая распол. на Form2) что бы возвращалась к Form1 от Form2
Коллеги подскажите как написать такю кнопку=)) Пробовал oid __fastcall TForm2::Button1Click(TObject...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.