Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Среда Microsoft Visual Studio 2005




 4.1. Простейший пример

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

 

 

Рис. 4.1

 

Для начала поменяем свойство формы Text на My first Example и увидим, что изменился заголовок формы.

Сначала ограничимся рассмотрением компонентов Label, TextBox и Button. Label (метка) предназначена для нанесения на форму пояснительных текстов и для вывода результатов. Во время работы приложения невозможно редактировать содержимое меток, поэтому их рекомендуют использовать для вывода пояснительного текста и результатов. TextBox (строка редактирования) предназначена для ввода/вывода, тип данных в нем – всегда String и все преобразования должны выполняться программистом. Компоненту Button (командная кнопка) можно ставить в соответствие функцию, которая будет выполнена при нажатии на кнопку. Все названные компоненты имеют среди других свойство Name – имя, по которому можно в программе ссылаться на него и Text - которое задает изображаемый на экране текст. Какие значения присвоены свойствам Text видно из рисунка, значения свойства Name по умолчанию видны из приведенных текстов функций.

Реализации командных кнопок:

private void button3_Click(object sender, EventArgs e)

   { // завершение работы приложения Quit

       Close();

   }

private void button1_Click(object sender, EventArgs e)

   { // сцепление введенных строк Concat

       label5.Text = textBox1.Text + textBox2.Text;

   }

private void button2_Click(object sender, EventArgs e)

   { // вычисления, нужны явные преобразования типов Compute

       int i, j, k;

       i = Convert.ToInt32(textBox1.Text);

       j = Convert.ToInt32(textBox2.Text);

       k = 2 * i + 5 * j;

       label6.Text = Convert.ToString(k); // 1           

   }

 

Вопрос читателю: можно ли вместо строки // 1 писать 

 label6.Text = "" + k; Почему?

 

Средства управления работой программы

 

Добавим на нашу форму кнопку выбора (CheckBox) и две радиокнопки (RadioButton). Напомним, что все кнопки выбора независимы друг от друга. Радиокнопки обычно объединяют в радиогруппы и из каждой группы в любой момент времени может быть выбрана одна и только одна радиокнопка.

Пусть наша единственная кнопка выбора имеет имя cB1 и показанное на рис. 4.1 значение свойства Text. Назначение этой кнопки: вычисления возможны лишь в случае, если она выбрана (свойство Checked имеет значение True).

Для создания радиогруппы необходимо сначала занести на форму компонент рамка GroupBox (находится среди элементов управления Containers) и лишь после этого на него требуемое количество (в нашем случае 2) радиокнопок. Пусть свойство Text для GroupBox имеет значение Order, свойство Name сохраняет значение по умолчанию. Для двух радиокнопок дадим свойству Name значения rB1 и rB2 соответственно. Значения их свойств Text видны на рис. 4.1. В нашем случае от выбора радиокнопки зависит очередность соединения введенных строк.

Поменяем реализацию двух командных кнопок:

private void button1_Click(object sender, EventArgs e)

   { // сцепление введенных строк Concat

       if (rB1.Checked)

            label5.Text = textBox1.Text + textBox2.Text;

       if(rB2.Checked)

            label5.Text = textBox2.Text + textBox1.Text;

   }

 

   private void button2_Click(object sender, EventArgs e)

   { // вычисления Compute

       int i, j, k;

       if (cB1.Checked)

       {

           i = Convert.ToInt32(textBox1.Text);

           j = Convert.ToInt32(textBox2.Text);

           k = 2 * i + 5 * j;

           label6.Text = Convert.ToString(k);

           // label6.Text = "" + k;

       }

   else MessageBox.Show("Режим вычислений не установлен ");

                                              // таким образом можно вывести сообщения пользователю

   }

 

Создание меню

 

Для создания меню перенесем на форму компонент MenuStrip, который находится в группе компонентов Menus & Toolbars. Местоположение его на форме значения не имеет, поскольку меню всегда находится на одном и том же месте. После этого двигаясь с помощью мыши по пунктам меню набираем на клавиатуре их названия, которые автоматически становятся значениями свойств Text. Значения свойств Name выбирают по умолчанию, например, пункт меню File получит имя fileToolStripMenuItem. Если не предполагается в дальнейшем ссылка в функциях на пункты меню, то имена, естественно, можно такими и оставить. В противном случае желательно их поменять на нечто покороче. Например, делать их равными свойству Text.

Для внесения исправлений в уже созданное меню поставим курсор на тот пункт (неважно, горизонтального или выпадающего меню) перед которым необходимо вставить новый пункт, нажмем на правую клавишу и выберем пункт Insert. Для удаления поставим курсор на удаляемый пункт и выберем из выпадающего меню пункт Delete. Для изменения свойств выделяем пункт меню и пользуемся традиционным способом –списком свойств.

Для реализации пунктов меню ставим на него курсор, делаем двойной щелчок и в полученную заготовку функции пишем необходимую программу.

 

Ввод/вывод массивов

 

Рассмотрим ввод/вывод массивов на примере формы на рис.4.2. Одномерный массив может быть представлен как в виде строки, так и в виде столбца. В обоих случаях используется знакомый нам компонент TextBox, но для представления массива столбцом необходимо свойству Multiline придать значение True. После этого можно «вытянуть» этот компонент по вертикали. Для представления двумерного массива используем этот же компонент, Multiline имеет значение True, а компоненту дадим необходимые для размещения массива высоту и ширину. Дадим компонентам следующие имена (свойство Name): mas_row для массива-строки, mas_col для массива столбца, mas22 - для двумерного массива, result – для результата. Тип данных в компонентах TextBox по прежнему String.

 

 

Рис. 4.2

    Назначение кнопок видно из названий.

 










Последнее изменение этой страницы: 2018-04-12; просмотров: 470.

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