Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Windows Forms
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2015, 18:34   #1
Maray
Форумчанин
 
Регистрация: 03.01.2015
Сообщений: 160
Восклицание Форма С++

Добрый день!

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

Код:
#include "stdafx.h"
#include "Form1.h"

using namespace My55;

[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
	
	Application::EnableVisualStyles();
	Application::SetCompatibleTextRenderingDefault(false); 
	Application::Run(gcnew Form1());
	return 0;
}
В этой форме в два поля вводится информация. И есть две кнопки, при нажатии на которые вызывается та или иная подпрограмма.

Как сделать, чтобы введенная информация в двух полях записывалась в две переменные, а при нажатии на кнопку вызывалась процедура?
Изображения
Тип файла: png Безымянный.png (6.1 Кб, 44 просмотров)
Maray вне форума Ответить с цитированием
Старый 07.12.2015, 18:34   #2
Maray
Форумчанин
 
Регистрация: 03.01.2015
Сообщений: 160
По умолчанию

Код формы:

Код:
#pragma once

namespace My55 {

	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
	/// </summary>
	public ref class Form1 : public System::Windows::Forms::Form
	{
	public:
		Form1(void)
		{
			InitializeComponent();
			//
			//TODO: добавьте код конструктора
			//
		}

	protected:
		/// <summary>
		/// Освободить все используемые ресурсы.
		/// </summary>
		~Form1()
		{
			if (components)
			{
				delete components;
			}
		}

	protected: 




	private: System::Windows::Forms::Label^  label1;
	private: System::Windows::Forms::Label^  label2;
	private: System::Windows::Forms::Button^  button1;

	private: System::Windows::Forms::TextBox^  textBox1;
	private: System::Windows::Forms::Button^  button2;
	private: System::Windows::Forms::TextBox^  textBox2;



	private:
		/// <summary>
		/// Требуется переменная конструктора.
		/// </summary>
		System::ComponentModel::Container ^components;

#pragma region Windows Form Designer generated code
		/// <summary>
		/// Обязательный метод для поддержки конструктора - не изменяйте
		/// содержимое данного метода при помощи редактора кода.
		/// </summary>
		void InitializeComponent(void)
		{
			this->label1 = (gcnew System::Windows::Forms::Label());
			this->label2 = (gcnew System::Windows::Forms::Label());
			this->button1 = (gcnew System::Windows::Forms::Button());
			this->textBox1 = (gcnew System::Windows::Forms::TextBox());
			this->button2 = (gcnew System::Windows::Forms::Button());
			this->textBox2 = (gcnew System::Windows::Forms::TextBox());
			this->SuspendLayout();
			// 
			// label1
			// 
			this->label1->AutoSize = true;
			this->label1->Location = System::Drawing::Point(27, 29);
			this->label1->Name = L"label1";
			this->label1->Size = System::Drawing::Size(78, 13);
			this->label1->TabIndex = 2;
			this->label1->Text = L"Входной файл";
			// 
			// label2
			// 
			this->label2->AutoSize = true;
			this->label2->Location = System::Drawing::Point(25, 117);
			this->label2->Name = L"label2";
			this->label2->Size = System::Drawing::Size(86, 13);
			this->label2->TabIndex = 3;
			this->label2->Text = L"Выходной файл";
			// 
			// button1
			// 
			this->button1->Location = System::Drawing::Point(30, 215);
			this->button1->Name = L"button1";
			this->button1->Size = System::Drawing::Size(95, 23);
			this->button1->TabIndex = 4;
			this->button1->Text = L"Кодировать";
			this->button1->UseVisualStyleBackColor = true;
			this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click_1);
			// 
			// textBox1
			// 
			this->textBox1->Location = System::Drawing::Point(28, 147);
			this->textBox1->Name = L"textBox1";
			this->textBox1->Size = System::Drawing::Size(153, 20);
			this->textBox1->TabIndex = 6;
			// 
			// button2
			// 
			this->button2->Location = System::Drawing::Point(157, 215);
			this->button2->Name = L"button2";
			this->button2->Size = System::Drawing::Size(95, 23);
			this->button2->TabIndex = 5;
			this->button2->Text = L"Декодировать";
			this->button2->UseVisualStyleBackColor = true;
			this->button2->Click += gcnew System::EventHandler(this, &Form1::button2_Click);
			// 
			// textBox2
			// 
			this->textBox2->Location = System::Drawing::Point(28, 62);
			this->textBox2->Name = L"textBox2";
			this->textBox2->Size = System::Drawing::Size(153, 20);
			this->textBox2->TabIndex = 7;
			// 
			// Form1
			// 
			this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
			this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
			this->ClientSize = System::Drawing::Size(284, 262);
			this->Controls->Add(this->textBox2);
			this->Controls->Add(this->textBox1);
			this->Controls->Add(this->button2);
			this->Controls->Add(this->button1);
			this->Controls->Add(this->label2);
			this->Controls->Add(this->label1);
			this->Name = L"Form1";
			this->Text = L"Form1";
			this->Load += gcnew System::EventHandler(this, &Form1::Form1_Load);
			this->ResumeLayout(false);
			this->PerformLayout();

		}
#pragma endregion
	private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e) {
			 }
	private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
			 }
private: System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) {
		 }
private: System::Void saveFileDialog1_FileOk(System::Object^  sender, System::ComponentModel::CancelEventArgs^  e) {
		 }
private: System::Void saveFileDialog2_FileOk(System::Object^  sender, System::ComponentModel::CancelEventArgs^  e) {
		 }
private: System::Void openFileDialog1_FileOk(System::Object^  sender, System::ComponentModel::CancelEventArgs^  e) {
		 }
private: System::Void button1_Click_1(System::Object^  sender, System::EventArgs^  e) {
}
};
}
Maray вне форума Ответить с цитированием
Старый 07.12.2015, 18:57   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Это не С++, это С++ CLI.

Цитата:
Как сделать, чтобы введенная информация в двух полях записывалась в две переменные,
Ну заведите переменную и присвойте им значения из свойства Text ваших полей.

Цитата:
а при нажатии на кнопку вызывалась процедура?
1. в С++ и С++ CLI нет процедур
2. у вас итак вызывается функция при нажатии
Код:
button1_Click
Кажется, по двойному клику в редакторе он перейдет в нее
3. если вам что-то еще нужно вызвать, так вызывайте также как и любую другую функцию
p51x вне форума Ответить с цитированием
Старый 07.12.2015, 20:17   #4
Maray
Форумчанин
 
Регистрация: 03.01.2015
Сообщений: 160
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Это не С++, это С++ CLI.


Ну заведите переменную и присвойте им значения из свойства Text ваших полей.


1. в С++ и С++ CLI нет процедур
2. у вас итак вызывается функция при нажатии
Код:
button1_Click
Кажется, по двойному клику в редакторе он перейдет в нее
3. если вам что-то еще нужно вызвать, так вызывайте также как и любую другую функцию
Получается так?
Код:
			this->ResumeLayout(false);
			this->PerformLayout();
in=TextBox1.Text;
ou=TextBox2.Text
		}
#pragma endregion
	private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e) {
			 }
	private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
			 }
private: System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) {
		 }
private: System::Void saveFileDialog1_FileOk(System::Object^  sender, System::ComponentModel::CancelEventArgs^  e) {
		 }
private: System::Void saveFileDialog2_FileOk(System::Object^  sender, System::ComponentModel::CancelEventArgs^  e) {
		 }
private: System::Void openFileDialog1_FileOk(System::Object^  sender, System::ComponentModel::CancelEventArgs^  e) {
		 }
private: System::Void button1_Click_1(System::Object^  sender, System::EventArgs^  e) {
}
};
}
Но только где их объявлять? Мне нужно чтобы они вернулись в основную программу

Код:
#include "stdafx.h"
#include "Form1.h"

using namespace My55;

[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
	
	Application::EnableVisualStyles();
	Application::SetCompatibleTextRenderingDefault(false); 
	Application::Run(gcnew Form1(char* in, char* ou)); <<-----Здесь указывать?
	return 0;
}
Maray вне форума Ответить с цитированием
Старый 07.12.2015, 20:32   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Цитата:
Мне нужно чтобы они вернулись в основную программу
Они итак в основной. Оставьте мейн как есть, а все что надо делайте в классе формы.
p51x вне форума Ответить с цитированием
Старый 07.12.2015, 21:14   #6
Maray
Форумчанин
 
Регистрация: 03.01.2015
Сообщений: 160
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Они итак в основной. Оставьте мейн как есть, а все что надо делайте в классе формы.
Подскажите, ну а как мне присвоить переменным то что написано в TextBox?

У меня две переменные:

char* in;
char* ou;

Пробовала двумя способами, но по любому выдает ошибку

in = Convert::ToChar(textBox2->Text);
in = Convert::ToString(textBox2->Text);
Maray вне форума Ответить с цитированием
Старый 07.12.2015, 21:44   #7
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Зачем вам указатели на чары в дот нете? Почему не стринг?

Если хотите извращений https://support.microsoft.com/en-us/kb/311259

Последний раз редактировалось p51x; 07.12.2015 в 21:46.
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Форма pk_100 Microsoft Office Access 7 10.04.2013 20:33
Форма Владан Паскаль, Turbo Pascal, PascalABC.NET 2 12.01.2013 17:49
ПЕрвая форма, кликая по кнопке, другая форма Nadej C++ Builder 0 02.10.2011 17:58
Форма tgm Microsoft Office Excel 6 21.01.2011 10:39
форма blackstersl Мультимедиа в Delphi 1 23.08.2008 19:03