Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.92/12: Рейтинг темы: голосов - 12, средняя оценка - 4.92
SerЁga
32 / 32 / 16
Регистрация: 18.08.2009
Сообщений: 93
1

Доступ из одной формы к элементам другой

01.03.2010, 22:11. Просмотров 2371. Ответов 4
Метки нет (Все метки)

Всем Привет.
Я создал главную форму Form1. И вот так создал дочернюю форму Form2
C++
1
2
 CHILDREN=gcnew Form2;
CHILDREN->Show(this);
В Form1 создаются объекты собственного класса
C++
1
2
3
4
5
6
7
private:FILE1^ Familiya;
    private:FILE1^ Imy;
    private: FILE1^ Otchestvo;
    private: FILE1^ BirthData;
    private: FILE1^ Adress;
    private: FILE1^ TelefoneNumder;
    private: FILE1^ PassportNumber
Есть ли способ получить доступ к этим объектам из Form2
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.03.2010, 22:11
Ответы с готовыми решениями:

Доступ к элементам формы из потока
Доброго дня! Создал поток через CreateThread (...,mythread,...) Подскажите, как получить из...

Доступ к элементам формы из другого потока
Есть функция, которая запускается отдельным потоком: static unsigned __clrcall ThreadFunc1(void*...

Вызвать из одной формы метод другой формы
У меня такая проблема. Есть 2 формы: Form1 и Link. Я пишу в Form1: #include "Link.h" public ref...

Доступ к объекту другой формы
Есть 2 формы. Form1.h и Form2.h. На Form1.h есть CheckBox1, на Form2.h есть CheckBox2. Нужно...

4
HIMen
4295 / 1463 / 101
Регистрация: 12.04.2009
Сообщений: 2,346
01.03.2010, 22:21 2
Самый простой способ - сделать их модификатор доступа public, но это противоречит ООП.
0
SerЁga
32 / 32 / 16
Регистрация: 18.08.2009
Сообщений: 93
01.03.2010, 22:41  [ТС] 3
Тут проблема что из Form2 не видно Form1
C++
1
Form1^ form;
error C2065: 'Form1' : undeclared identifier
Хотя непонятно почему.
0
HIMen
4295 / 1463 / 101
Регистрация: 12.04.2009
Сообщений: 2,346
01.03.2010, 23:04 4
Можно передать ссылку на Form1 в параметр конструктора Form2
C++
1
2
3
4
5
6
7
8
9
public:
    Form2(Form^ f)
    {
        InitializeComponent();
        f->Width=10;
        //
        //TODO: Add the constructor code here
        //
    }
C++
1
2
Form2^ f = gcnew Form2(this);                
f->Show();
1
Fahrenheit451
2 / 2 / 1
Регистрация: 01.02.2010
Сообщений: 15
02.03.2010, 14:03 5
Можно форму Form2 создать в виде диалогового окна, присвоить например кнопке на этой форме OK, и потом проверить, если нажата кнопка, уже из Form1 к объектам и обращаться
Вот можете мой пример посмотреть, тут все понятно:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
   {
              ::DialogResult result;
        LogInForm^ login = gcnew LogInForm();
                
        if(login->ShowDialog() != ::DialogResult::OK)
                  {
                     // Если пользователь отменил ввод имени, закрываем приложение
                     this->Close();
                     return;
                   }
                     try
                  {
        
                      
         user_name=login->user_name;
                              
                   }
                   catch(Exception^ e)
                   {
                      // Обрабатываем исключения и закрываем приложение.
                  
        System::Windows::Forms::MessageBox::Show("Во время выполнения приложения возникла ошибка: "+e->Message, 
"Ошибка");
                      this->Close();
                      return;
                        }
             }
А на второй форме:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
  {
       ::DialogResult result =    
        MessageBox::Show(L"Неправильный логин или пароль",
                  L"Ошибка", 
                  MessageBoxButtons::OK);
        if(result == ::DialogResult::OK)
          DialogResult = ::DialogResult::None;
        else
          DialogResult = ::DialogResult::Cancel;
      }
      else
      {
         while(myReader->Read())
 
        { 
         user_name=myReader["name_user"]->ToString();
      
       }
     
          }
1
02.03.2010, 14:03
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.03.2010, 14:03

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

Доступ к элементу другой формы
Здравствуйте, надеюсь на помощь, перерыл уже много, в том числе и на форуме. Использую Visual C++...

Доступ к свойствам инструмента другой формы
Пишу на С++ в Visual Studio. Есть две формы Form1 и Form2, Form2 вызывается из Form1, тут всё в...

Открытие одной формы из другой
Здравствуйте! Создал две формы MyForm и MyForm1 В MyForm.h подключил MyForm1.h в самом начале, в...

Открытие из одной формы другой
Задача такая. На форме есть кнопка. По клику по кнопке открывается другая форма вместо этой, т.е....


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

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

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