Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/47: Рейтинг темы: голосов - 47, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 13.12.2010
Сообщений: 5
1

Переход с одной формы на другую

16.03.2011, 14:30. Показов 9156. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
помогите пожалуйста! не могу разобраться!
перехожу из 1-й формы на 2-ю, со 2-й на 3-ю, с 3-й на 4-ю
и никак не могу перейти с 4-ой на 2-ю! помогите пожалуйста!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.03.2011, 14:30
Ответы с готовыми решениями:

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

Переход с одной формы на другую
Нужно, чтобы после нажатия кнопки на одной форме, открывалась другая. когда пишу void...

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

Переход с одной формы на другую
Ребят, помогите кто чем может) Как открыть форму(2) по текущей записи другой формы(1). Чтобы в...

14
Brainsbreaker
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
16.03.2011, 16:50 2
Выложи код с переходами.
0
0 / 0 / 0
Регистрация: 05.02.2011
Сообщений: 20
16.03.2011, 19:35 3
У меня такой же вопрос, но мне требуется закрывать первую форму при открывании второй, и наоборот.
для первой формы:
C++
1
2
3
4
5
6
7
8
9
#include"Form2.h"
// ...
// в обработчике кнопки
{
Form2 ^Fo2 = gcnew Form2();
Fo2->Show();      //показываем вторую форму 
Form1::Visible = false;
}
/////////////////////////
Теперь со второй формы нужно открыть первую и закрыть вторую:
C++
1
2
3
4
5
6
7
8
9
#include"Form1.h"
// ...
// в обработчике кнопки
{
Form1 ^Fo1 = gcnew Form1();
Fo1->Show();      //показываем вторую форму 
Form1::Visible = true;
}
////////////////////////////////
компилятор выдает ошибку: error C1014: too many include files.
0
374 / 321 / 32
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
16.03.2011, 20:15 4
Так в Form1.h нужно добавлять
C++
1
#include"Form2.h"
И наоборот.

А то по вашему коду получается, что вы в Form1.h добавляете
C++
1
#include"Form1.h"
Рекурсия однако.
0
0 / 0 / 0
Регистрация: 05.02.2011
Сообщений: 20
16.03.2011, 20:37 5
Я это и имел ввиду значит немного некоректно изъяснился.
А проблемка то осталась
0
374 / 321 / 32
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
16.03.2011, 20:48 6
Да, так тоже рекурсия получается
0
0 / 0 / 0
Регистрация: 05.02.2011
Сообщений: 20
16.03.2011, 20:54 7
так, а как исправить то?
0
154 / 138 / 34
Регистрация: 23.05.2009
Сообщений: 275
16.03.2011, 20:59 8
Внеси следующee изменениe в хедер
C++
1
2
#pragma once
<ТЕКСТ ХЕДЕРА>
Или можно так еще

для Form1.h
C++
1
2
3
4
#ifndef __FORM1_H_
#define __FORM1_H_
<ТЕКСТ ХЕДЕРА>
#endif
для Form2.h
C++
1
2
3
4
#ifndef __FORM2_H_
#define __FORM2_H_
<ТЕКСТ ХЕДЕРА>
#endif
где __FORM1_H_ и __FORM2_H_ должны быть уникальными, ты должен быть уверен, что они не были определены до включения хедера, иначе хедер не будет подключен
0
0 / 0 / 0
Регистрация: 05.02.2011
Сообщений: 20
16.03.2011, 22:05 9
Цитата Сообщение от Andsteadur Посмотреть сообщение

для Form1.h
C++
1
2
3
4
#ifndef __FORM1_H_
#define __FORM1_H_
<ТЕКСТ ХЕДЕРА>
#endif
для Form2.h
C++
1
2
3
4
#ifndef __FORM2_H_
#define __FORM2_H_
<ТЕКСТ ХЕДЕРА>
#endif
где __FORM1_H_ и __FORM2_H_ должны быть уникальными, ты должен быть уверен, что они не были определены до включения хедера, иначе хедер не будет подключен
сделал так:
для Form1.h
C++
1
2
3
4
5
6
7
8
9
#ifndef __FORM1_H_
#define __FORM1_H_
#include "Form2.h" // хедер 2-й формы
#endif
.........
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
                
     Form2 ^Fo2 = gcnew Form2();
                 Fo2->Show(); //показываем вторую форму
для Form2.h
C++
1
2
3
4
5
6
7
8
9
#ifndef __FORM2_H_
#define __FORM2_H_
#include "Form1.h" // хедер 1-й формы
#endif
.........
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
                
     Form1 ^Fo1 = gcnew Form1();
                 Fo1->Show(); //показываем первую форму
Компилятор опять ругается, невидит Form1 и Form2 в обработчике кнопки.

??????
0
154 / 138 / 34
Регистрация: 23.05.2009
Сообщений: 275
16.03.2011, 22:23 10
#endif нужно ставить в конце текста хедера, те после всего вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
#ifndef __FORM1_H_
#define __FORM1_H_
#include "Form2.h" // хедер 2-й формы
 
.........
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
                                
         Form2 ^Fo2 = gcnew Form2();
                 Fo2->Show(); //показываем вторую форму 
..........
#endif
#endif самая последняя строчка короче
0
0 / 0 / 0
Регистрация: 05.02.2011
Сообщений: 20
16.03.2011, 22:59 11
все равно неработает
0
0 / 0 / 0
Регистрация: 13.12.2010
Сообщений: 5
18.03.2011, 17:05  [ТС] 12
проблема решена:
вот часть кода:
часть кода Form_LogIn:
C++
1
2
3
4
5
6
7
8
9
10
11
#pragma once
 
#include "Form_Registration.h"
 
///////////////////////////////
#pragma endregion
public: System::Void linkLabel1_LinkClicked(System::Object^  sender, System::Windows::Forms::LinkLabelLinkClickedEventArgs^  e) {
     Form_Registration^ f = gcnew Form_Registration(this); ////// this -- ссилка на ету форму
                f->Show();
                this->Hide();
         }
часть кода для Form_Registration:
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
28
29
30
31
32
33
34
35
36
37
#pragma once
 
namespace Project {
 
    using namespace System;
    using namespace System::ComponentModel;
    using namespace System::Collections;
    using namespace System::Windows::Forms;
    using namespace System::Data;
    using namespace System::Drawing;
 
    /// <summary>
    /// Сводка для Form_Registration
    /// </summary>
    public ref class Form_Registration : public System::Windows::Forms::Form
    {
    public:
        Form_Registration(System::Windows::Forms::Form^ _parentForm_LogIn)
        {
            parentForm_LogIn = _parentForm_LogIn;
            InitializeComponent();
            //
            //TODO: добавьте код конструктора
            //
        }
public: System::Windows::Forms::Form^ parentForm_LogIn;
 
 
// ...
 
 
#pragma endregion
    public: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
                 if(parentForm_LogIn != nullptr)
                     this->parentForm_LogIn->Show();
                    this->Close();
             }
т.е. - извините за то что пишу "суржиком"
0
0 / 0 / 0
Регистрация: 05.02.2011
Сообщений: 20
18.03.2011, 20:51 13
А в обратном порядке можешь передти с 4-3-2-1?
0
0 / 0 / 0
Регистрация: 13.12.2010
Сообщений: 5
20.03.2011, 10:35  [ТС] 14
а почему би й нет? конечно можно!
0
0 / 0 / 0
Регистрация: 05.02.2011
Сообщений: 20
20.03.2011, 10:39 15
как?!
0
20.03.2011, 10:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.03.2011, 10:39
Помогаю со студенческими работами здесь

Переход с одной формы на другую
подскажите как зделаь переход с одной формы на другую методом нажатия на клавишу button

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

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

Переход из одной формы jframe в другую по нажатию на кнопку
добрый день, подскажите как реализовать переход из 1 формы jframe в другую при нажатии на кнопку,...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru