Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
2 / 2 / 1
Регистрация: 07.07.2012
Сообщений: 90
1

При нажатии на кнопку в первой форме, открывалась вторая форма

09.07.2012, 00:19. Показов 2430. Ответов 5
Метки нет (Все метки)

Как сделать что бы при нажатии на кнопку в первой форме (Form1), открывалась вторая форма (Form2), при этом: на Form2 есть label, так вот как в событии клика на кнопку Form1, передать текст, например "Hello World", в label второй формы?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.07.2012, 00:19
Ответы с готовыми решениями:

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

Сделать, чтобы при нажатии на форме 2 на кнопку, форма 2 закрывалась, а форма 1 открывалась
Здравствуйте подскажите как обнулить форму. Вобщем у меня форма form1 как бы с тестом там есть...

Создал две формы в проекте. При нажатии кнопки, расположенной на первой форме должна открыться вторая форма,
первая должна пропасть. Для этого я использую Hide(), Show(). Теперь мне необходимо очистить всю...

Сделать, чтобы при нажатии на кнопку открывалась "вторая" программа
тема такая: вот у меня две программы написанные на делфи (будем называть их "первая" и...

__________________

Записывайтесь на профессиональные курсы C++ разработчиков
5
319 / 269 / 128
Регистрация: 24.05.2012
Сообщений: 629
09.07.2012, 09:28 2
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#pragma once
#include "Form2.h"
 
namespace test {
    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>
    /// Сводка для Form1
    ///
    /// Внимание! При изменении имени этого класса необходимо также изменить
    ///          свойство имени файла ресурсов ("Resource File Name") для средства компиляции управляемого ресурса,
    ///          связанного со всеми файлами с расширением .resx, от которых зависит данный класс. В противном случае,
    ///          конструкторы не смогут правильно работать с локализованными
    ///          ресурсами, сопоставленными данной форме.
    /// </summary>
    public ref class Form1: public System::Windows::Forms::Form {
    public:
        Form1() {
            InitializeComponent();
        }
 
    protected:
        /// <summary>
        /// Освободить все используемые ресурсы.
        /// </summary>
        ~Form1() {
            if (components)
                delete components;
        }
    private: Button^ button1;
 
    private:
        /// <summary>
        /// Требуется переменная конструктора.
        /// </summary>
        System::ComponentModel::Container ^components;
 
#pragma region Windows Form Designer generated code
        /// <summary>
        /// Обязательный метод для поддержки конструктора - не изменяйте
        /// содержимое данного метода при помощи редактора кода.
        /// </summary>
        void InitializeComponent() {
            button1 = gcnew Button;
            SuspendLayout();
            // 
            // button1
            // 
            button1->Location = Point(63, 59);
            button1->Name = L"button1";
            button1->Size = Drawing::Size(75, 23);
            button1->TabIndex = 0;
            button1->Text = L"button1";
            button1->UseVisualStyleBackColor = true;
            button1->Click += gcnew EventHandler(this, &Form1::button1_Click);
            // 
            // Form1
            // 
            AutoScaleDimensions = SizeF(6, 13);
            AutoScaleMode = Windows::Forms::AutoScaleMode::Font;
            ClientSize = Drawing::Size(292, 256);
            Controls->Add(button1);
            Name = L"Form1";
            Text = L"Form1";
            ResumeLayout(false);
        }
#pragma endregion
    private:
        void button1_Click(Object^ sender, EventArgs^ e) {
            (gcnew Form2)->SetLabel("Hello World")->Show();
        }
    };
}
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#pragma once
 
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
 
namespace test {
    /// <summary>
    /// Сводка для Form2
    ///
    /// Внимание! При изменении имени этого класса необходимо также изменить
    ///          свойство имени файла ресурсов ("Resource File Name") для средства компиляции управляемого ресурса,
    ///          связанного со всеми файлами с расширением .resx, от которых зависит данный класс. В противном случае,
    ///          конструкторы не смогут правильно работать с локализованными
    ///          ресурсами, сопоставленными данной форме.
    /// </summary>
    public ref class Form2: public Form {
    public:
        Form2() {
            InitializeComponent();
        }
 
    protected:
        /// <summary>
        /// Освободить все используемые ресурсы.
        /// </summary>
        ~Form2() {
            if (components)
                delete components;
        }
    private: Label^ label1;
 
    private:
        /// <summary>
        /// Требуется переменная конструктора.
        /// </summary>
        System::ComponentModel::Container^ components;
 
#pragma region Windows Form Designer generated code
        /// <summary>
        /// Обязательный метод для поддержки конструктора - не изменяйте
        /// содержимое данного метода при помощи редактора кода.
        /// </summary>
        void InitializeComponent() {
            label1 = gcnew Label;
            SuspendLayout();
            // 
            // label1
            // 
            label1->AutoSize = true;
            label1->Location = Point(61, 71);
            label1->Name = L"label1";
            label1->Size = Drawing::Size(35, 13);
            label1->TabIndex = 0;
            label1->Text = L"label1";
            // 
            // Form2
            // 
            AutoScaleDimensions = SizeF(6, 13);
            AutoScaleMode = Windows::Forms::AutoScaleMode::Font;
            ClientSize = Drawing::Size(292, 256);
            Controls->Add(label1);
            Name = L"Form2";
            Text = L"Form2";
            ResumeLayout(false);
            PerformLayout();
        }
#pragma endregion
    public:
        Form2^ SetLabel(String^ s) {
            label1->Text = s;
            return this;
        }
    };
}
0
Комп_Оратор)
Эксперт по математике/физике
8663 / 4375 / 596
Регистрация: 04.12.2011
Сообщений: 13,090
Записей в блоге: 16
10.07.2012, 15:49 3
Цитата Сообщение от Кот Ангенс Посмотреть сообщение
C++
1
2
3
#pragma endregion private: void button1_Click(Object^ sender, EventArgs^ e) {
 (gcnew Form2)->SetLabel("Hello World")->Show();
 }
И так еще можно:
C++
1
2
3
4
5
6
#pragma endregion
private: void button1_Click(Object^ sender, EventArgs^ e) { 
 Form2^ f2=gcnew Form2();
f2->Label1->Text=L"Hello World";
f2->Show();
}
0
319 / 269 / 128
Регистрация: 24.05.2012
Сообщений: 629
10.07.2012, 17:29 4
Цитата Сообщение от IGPIGP Посмотреть сообщение
f2->Label1->Text=L"Hello World";
Я бы предпочел, чтобы label оставался приватным.
1
Комп_Оратор)
Эксперт по математике/физике
8663 / 4375 / 596
Регистрация: 04.12.2011
Сообщений: 13,090
Записей в блоге: 16
10.07.2012, 18:17 5
Цитата Сообщение от Кот Ангенс Посмотреть сообщение
Я бы предпочел, чтобы label оставался приватным.
Понятно. Тогда можно:
C++
1
2
Form2^ f2=gcnew Form2(L"Hello World");
f2->Show();
И подправить конструктор.
0
319 / 269 / 128
Регистрация: 24.05.2012
Сообщений: 629
10.07.2012, 19:26 6
Можно. Но тогда можно и сразу (gcnew Form2(L"Hello World"))->Show();
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.07.2012, 19:26

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

Как сделать что бы при нажатии на кнопку форма открывалась на весь экран?
Что как

Как в Unity при нажатии на кнопку открывалась форма для создания заявки
(пример Avito,там при нажатии открывается форма и в ней заполняется что вы хотите продать)

Как правильно сделать чтобы вторая форма открывалась в первой
У меня есть главная форма и мне надо набить код чтобы когда я компилирую мне сперва вибивало форма...

ComboBox, после выбора компонента что при нажатии на кнопку открывалась новая форма!
То есть: есть combobox выбираешь что то от туда либо после выбора сразу открывалась новая форма...


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

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

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