none
Вызов функции Form1 из кнопки Form2 (Visual C++ .Net) RRS feed

  • Вопрос

  • Пишу курсовую работу, столкнулся с потребностью использования двух форм и передачи данных между ними. Добавил новую форму, подключил её в заголовке. Логика программы такова: Отобразив Form2, выполяняем запланированные действия, по нажатию кнопки, происходит вызов функции/изменение переменной из  Form1.

    Файл Form1.h

    #pragma once
    #include "Form2.h"

    Обращаюсь к ней через 

    Form2^ fr2 = gcnew Form2;
    fr2->Show();

    Всё чудесно открывается, но,из кнопки второй формы ссылаюсь на первую форму и получаю "необъявленый идинтификатор Form1".
    Описываю #include "Form1.h" в заголовке Form2.h и соответственно получаю перекрёстные ссылки.

    Нашёл подходящее решение, но не могу правильно его применить.

    Подскажите правильное решение.

     

    3 февраля 2012 г. 22:46

Ответы

  • Что именно не получается, не подходит из того решения, что вы нашли?

    Если нужно просто передать данные из формы2 в форму1, то в форме 2 можете объявить какую-нибудь открытую переменную, например Result, которая будет содержать необходимые данные. Затем форма2 открывается как диалог, а после того как она будет закрыта, вы читаете form2->Result, и тем самым получаете нужные данные.


    Для связи [mail]
    • Помечено в качестве ответа Abolmasov Dmitry 15 февраля 2012 г. 15:01
    5 февраля 2012 г. 17:57

Все ответы

  • Что именно не получается, не подходит из того решения, что вы нашли?

    Если нужно просто передать данные из формы2 в форму1, то в форме 2 можете объявить какую-нибудь открытую переменную, например Result, которая будет содержать необходимые данные. Затем форма2 открывается как диалог, а после того как она будет закрыта, вы читаете form2->Result, и тем самым получаете нужные данные.


    Для связи [mail]
    • Помечено в качестве ответа Abolmasov Dmitry 15 февраля 2012 г. 15:01
    5 февраля 2012 г. 17:57
  • А вообще во второй форме создать событие, в первой форме подписаться на это событие и в обработчике события обновлять поля на 1ой форме. Данные передаются через аргументы события.


    Для связи [mail]

    8 февраля 2012 г. 13:00