История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Топ:
Проблема типологии научных революций: Глобальные научные революции и типы научной рациональности...
Особенности труда и отдыха в условиях низких температур: К работам при низких температурах на открытом воздухе и в не отапливаемых помещениях допускаются лица не моложе 18 лет, прошедшие...
Интересное:
Аура как энергетическое поле: многослойную ауру человека можно представить себе подобным...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Мероприятия для защиты от морозного пучения грунтов: Инженерная защита от морозного (криогенного) пучения грунтов необходима для легких малоэтажных зданий и других сооружений...
Дисциплины:
|
из
5.00
|
Заказать работу |
|
|
|
|
Метод MessageBox::Show имеет несколько параметров, которые описываются в круглых скобках и перечисляются через запятую. В предыдущих примерах у MessageBox.Show мы использовали только один параметр string message (текст сообщения):
MessageBox::Show("Привет, " + comboBox1->Text + "\n" + "Вход выполнен");
и
MessageBox::Show("Неверный пароль");
Параметры MessageBox.Show
string message – текст сообщения;
string caption – заголовок окна;
MessageBoxButtons – кнопки, расположенные в окне;
MessageBoxIcon – значок, расположенный в окне;
MessageBoxDefaultButton – кнопка по умолчанию;
MessageBoxOptions – дополнительные параметры.
Большинство диалоговых окон используют несколько параметров MessageBox::Show (рисунок 25).

Рисунок 25 – Элементы диалогового окна
С учетом параметров MessageBox::Show доработаем приложение «Идентификация пользователя» (см. п.3.1- 3.2).
1 Создадим заголовок для окон, например, "Вход в систему". Для этого добавляем второй параметр в MessageBox.Show:
MessageBox::Show("Привет, " + comboBox1->Text + "\n" + "Вход выполнен", "Вход в систему");
и
MessageBox::Show("Неверный пароль", "Вход в систему");
2 Определим на первом окне две кнопки – Ok и Отмена, на втором - только Ok. Для этого добавляем третий параметр MessageBoxButtons:
MessageBox::Show("Привет, " + comboBox1->Text + "\n" + "Вход выполнен", "Вход в систему", MessageBoxButtons::OKCancel);
и
MessageBox::Show("Неверный пароль","Вход в систему", MessageBoxButtons::OK);
3 Добавим на окна значки. Т.к. первое окно соответствует сообщению о прохождении идентификации, то в качестве значка можно выбрать Information Т.к. второе окно соответствует сообщению об ошибке, то в качестве значка можно выбрать Error:
MessageBox::Show("Привет, " + comboBox1->Text + "\n" + "Вход выполнен", "Вход в систему",MessageBoxButtons::OKCancel,MessageBoxIcon::Information);
и
MessageBox::Show("Неверный пароль","Вход в систему", MessageBoxButtons::OK,MessageBoxIcon::Error);
4 Запускаем программу на выполнение (рисунки 26, 27).

Рисунок 26 – Окна до изменения параметров MessageBox::Show
Рисунок 27 – Окна после изменения параметров MessageBox::Show
Анализ кода
Среда Visual C++ реализует объектно-ориентированное программирование. Формы создаются на базе класса управления System, а именно класса System.Windows.Forms.
Обзор классов осуществляется нажатие на кнопку Object Browser (рисунки 28, 29).

Рисунок 28 – Обзор объектов

Рисунок 29 –Классы
Рассмотрим код приложения «Идентификация пользователя»
1 Откроем код приложения «Идентификация пользователя».
2 Программа начинается с описания пространства имен:

Команда using позволяет сослаться на классы в пакетах System, System.WinForms и System.Drawing и др.
3 Наше приложение состоит из одного класса Form1:
public ref class Form1: public System::Windows::Forms::Form
4 Для каждого элемента управления, расположенного на форме, дизайнер форм создает по одному полю соответствующего класса:

Эти поля хранят ссылки, необходимые для выполнения всех операций с элементами управления формы.
5 Для инициализации приложения конструктор класса Form1 вызывает метод InitializeComponent:
#pragma region Windows Form Designer generated code
void InitializeComponent(void)
{
…
…
this->PerformLayout();
}
Этот метод создает и инициализирует все элементы управления формы, а также задает их размеры и расположение в окне.
Когда все элементы управления созданы, необходимо их проинициализировать и разместить в окне формы. На время выполнения этой операции метод InitializeComponent отключает на время механизм генерации сообщений, связанных с размещением элементов в окне формы:
this->PerformLayout();
6 Далее следуют обработчики событий для элементов управления, размещенных на форме (двойной щелчок на элементе управления).
Обработчик события Click (щелчок) для кнопки button1:
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{
…
}
Обработчик события Click (щелчок) для кнопки button2:
private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e)
{
textBox2->Clear();
}
Обработчик события Click (щелчок) для кнопки button3:
private: System::Void button3_Click(System::Object^ sender, System::EventArgs^ e)
{
Close();
}
Расчетные формы
Создание расчетной формы
Создадим оконное приложение для расчета амортизационных отчислений по формуле

где S 0 – начальная стоимость имущества, SN – остаточная стоимость имущества, N – срок эксплуатации.
1 Создаем форму с тремя полями textBox1, textBox2, textBox3;
С пятью метками label1 – label5 и одной кнопкой (рисунок 30).

Рисунок 30 – Форма
Ответ поместим в label5, поэтому надпись label5 удаляем.
2 Дважды щелкаем по кнопке Ok и в текущее положение курсора вставляем строки
int s0=Convert::ToInt32(textBox1->Text);
int sN=Convert::ToInt32(textBox2->Text);
int N=Convert::ToInt32(textBox3->Text);
float a;
a=(s0-sN)/N;
label5->Text=Convert::ToString(a);
Команда Convert::ToInt32 преобразует текст, введенный в поля textBox1, textBox2, textBox3 в целочисленный формат, т.к. данные введенные в текстовые поля воспринимаются только как текст, и, следовательно, арифметические действия невозможны.
Команда Convert::ToString(a); преобразует числовой результат a в строковый (String).
3 Выполним тестирование программы. Определим ежегодные амортизационные отчисления на оборудование начальной стоимостью 3 млн. руб., сроком эксплуатации 10 лет и остаточной стоимостью 500 тыс. руб. (рисунок 31).

Рисунок 31 – Результат расчета
Создание простейшего меню
Создадим простейшее меню для приложения предыдущего примера.
Перетаскиваем управляющий элемент MenuStrip на форму приложения (рисунок 32).

Рисунок 32 – Добавление управляющего элемента MenuStrip на форму
Создаем выпадающее меню Файл с несколькими пунктами (рисунок 33).

Рисунок 33 – Создание меню
Сделаем активным простейший пункт – Выход. Дважды щелкаем на пункте Выход, чтобы добавить код:
Close();
Программу можно совершенствовать: например, предусмотреть экспорт результата в другое приложение, импорт исходных даннях; можно сделать так, что каждый раз, когда пользователь попытается закрыть приложение, приложение будет его спрашивать, действительно ли он хочет выйти и т.д.
7 Практическое задание
Создать оконное приложение имитирующее расчетный листок работника некоторого предприятия за текущий месяц работы.
1 Создаем форму с шестью полями textBox1 – textBox6; с двадцатью метками label1 – label20 и одной кнопкой (рисунок 34)

Рисунок 34 - Создание формы
Ответы поместим в label14- label20, поэтому надписи label14-label20 удаляем.
2 Дважды щелкаем по кнопке Ok и в текущее положение курсора вставляем строки
int vrem=Convert::ToInt32(textBox2->Text);
int dn=Convert::ToInt32(textBox3->Text);
int kv_k=Convert::ToInt32(textBox4->Text);
int oplata=Convert::ToInt32(textBox5->Text);
float zarp,prem,itogo,pf,prof,avans,k_v;
zarp=vrem*dn*kv_k*oplata;
if(textBox6->Text=="да")
prem=zarp*0.04;
else
prem=0;
itogo=zarp+prem;
pf=itogo*0.13;
prof=itogo*0.01;
avans=(itogo-pf-prof)*0.6;
k_v=itogo-avans-pf-prof;
label14->Text=Convert::ToString(zarp);
label15->Text=Convert::ToString(prem);
label16->Text=Convert::ToString(itogo);
label17->Text=Convert::ToString(pf);
label18->Text=Convert::ToString(prof);
label19->Text=Convert::ToString(avans);
label20->Text=Convert::ToString(k_v);
3 Выполним тестирование программы.
|
|
Рисунок 35 - Тестирование
|
|
|
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!