Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/14: Рейтинг темы: голосов - 14, средняя оценка - 4.57
0 / 0 / 1
Регистрация: 04.01.2013
Сообщений: 31
1

Передача ссылки в конструктор (передача данных между формами)

16.01.2013, 20:49. Просмотров 2602. Ответов 2
Метки нет (Все метки)

Из темы "Ответы на 7 самых частых вопроса по WinForms"
Реализовал метод № 2.3 без проблем, а вот 2.4 не получается(
вот текст из той темы

2.3 Передача данных в конструктор Form2
Изменяем конструктор Form2

C++
1
2
3
4
5
6
7
public Form2(String^ data)
{
    InitializeComponent();
    //Обрабатываем данные
    //Или записываем их в поле
    this->data = data;
}
А создаем форму в любом месте Form1 так:
C++
1
2
Form2^ f = gcnew Form2(A);
f->ShowDialog();
А вот для метода № 2.4 Передача ссылки в конструктор

Изменяем конструктор Form2
C++
1
2
3
4
5
public Form2(Form1 f1)
{
    InitializeComponent();    
    String^ s = f1->textBox1->Text;
}

А создаем форму в любом месте Form1 так, т.е. передаем ей ссылку на первую форму
C++
1
2
Form2^ f = gcnew Form2(this);
f->ShowDialog();

Вот ошибки:
form2.h(17): error C2061: синтаксическая ошибка: идентификатор "Form1"
Form1.h(190): error C3673: abp_01::form2: у класса нет конструктора копии



#include "Form1.h" подключил)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.01.2013, 20:49
Ответы с готовыми решениями:

Передача данных между формами
Приветствую, форумчане :) Возникла проблема при передаче данных между формами. Необходимо...

Передача данных между формами
Такая тема неоднократно подымалась на просторах и-нета, но удовлетворительного для себя ответа я...

Передача данных между формами
Есть форма MyForm.h и MyForm1.h, в MyForm есть переменная int t=3, как значение этой переменной...

Передача данных между формами
Здравствуйте товарищи знатоки. Сегодня постала задача: существует вторичная форма Form2, в этой...

2
1301 / 974 / 127
Регистрация: 08.12.2009
Сообщений: 1,299
16.01.2013, 20:53 2
public Form2(Form1^ f1)
0
0 / 0 / 1
Регистрация: 04.01.2013
Сообщений: 31
16.01.2013, 21:46  [ТС] 3
Цитата Сообщение от Mikant Посмотреть сообщение
public Form2(Form1^ f1)
Так раз это изменил, ошибки теже

form2.h(17): error C2061: синтаксическая ошибка: идентификатор "Form1"
Form1.h(190): error C3673: abp_01::form2: у класса нет конструктора копии

Добавлено через 13 минут
Ошибки исправил, теперь разбираюсь как использовать)

Добавлено через 36 минут
Кто пожет объяснить другой метод для передачи параметров в обе стороны!
а то для этого
C++
1
2
3
4
5
6
7
8
System::Void Form1::button2_Click(System::Object^  sender, System::EventArgs^  e) 
    {
            form2^ f2 = gcnew form2(this);
            f2->Owner=this; 
            this->Hide();
            f2->Show();
            
        }
этот кусрк кода перенес в program.cpp и при закрытии второй формы, первая не открывается(
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.01.2013, 21:46

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Передача данных между формами
Привет всем ! Есть 2 формы. Передаю данные следующим образом: Форма 1: public class MyClass...

Передача данных между формами
Народ добрый, вот у меня такой вопрос: у меня есть три формы: Form1, Form2 и Form3. В первой форме...

Передача данных между формами
Доброго времени суток! У меня тут образовалась одна вроде и простая проблемка, однако я в...

Передача данных между формами
привет, друзья! есть основная форма virm? и форма диалога inGrid в которой я определяю 2...


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

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

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