close

Вход

Забыли?

вход по аккаунту

?

Metoda-laba1

код для вставкиСкачать
 I. Создание простейшего приложения Windows Forms
С помощью среды разработки типа Visual C# можно создавать приложения Windows Forms, которые отображают информацию, запрашивают ввод от пользователей и обмениваются данными с удаленными компьютерами по сети. В Windows Forms форма является видимой поверхностью, на которой отображается информация для пользователя. Обычно приложение Windows Forms строится путем помещения элементов управления на форму и написанием кода для реагирования на действия пользователя, такие как щелчки мыши или нажатия клавиш. Элемент управления - это отдельный элемент пользовательского интерфейса, отображающий данные или принимающий ввод данных. При выполнении пользователем какого-либо действия с формой или одним из ее элементов управления, создается событие. Приложение реагирует на эти события с помощью кода и обрабатывает события, когда они происходят. Обработчик событий - это процедура в коде, определяющая действия, которые требуется выполнить при возникновении события, например, когда пользователь нажимает кнопку или когда в очередь сообщений поступает очередное сообщение. При возникновении события выполняется обработчик (или обработчики) событий, который получает это событие. События могут быть назначены нескольким обработчикам, а методы, обрабатывающие отдельные события, могут динамически меняться.
Windows Forms включает широкий набор элементов управления, которые можно добавлять на формы: текстовые поля, кнопки, раскрывающиеся списки, переключатели, даже веб-страницы и многие другие. Если существующий элемент управления не удовлетворяет потребностям, в Windows Forms можно создать собственные пользовательские элементы управления с помощью класса UserControl.
Windows Forms имеет богатые элементы пользовательского интерфейса, которые копируют возможности мощных приложений, таких как Microsoft Office. Используя элементы управления ToolStrip и MenuStrip, можно создавать панели инструментов и меню, содержащие текст и рисунки, отображающие подменю и содержащие в себе другие элементы управления, такие как текстовые поля и поля с выпадающим списком. С помощью конструктора Windows Forms Visual Studio, поддерживающего перетаскивание, можно легко создавать приложения Windows Forms: Достаточно выделить элемент управления курсором из меню Toolbox и поместить его на нужное место на форме. Конструктор предоставляет такие средства, как линии сетки и "привязка линий" для преодоления трудностей выравнивания элементов управления. 1. Создание объекта "Форма":
Открываем окно Visual Studio и создаем новый проект : File -> New -> Project
Рисунок 1
В результате откроется диалоговое окно Новый проект.
Рисунок 2
После чего, произведите действия аналогично шагам на рис. 2.
Перед вами откроется окно, аналогичное представленному на рис. 3. В центральной части окна располагается созданная форма. Сверху расположено основное меню и панель с быстрыми кнопками. Некоторые боковые вспомогательные окна, такие как Toolbox (панель инструментов), Solution Explorer (панель структуры проекта), Properties Window (свойства выделенного объекта), по умолчанию могут быть скрыты от пользователя. Чтобы увидеть их необходимо зайти в пункт View главного меню (верхняя панель) и выбрать для просмотра необходимое окно (часть из них находится во View/ Other Windows). Каждая новая форма, включенная в проект, представляет собой класс, элементы, методы работы и события которого описаны в файле с названием формы и расширением *.cs (например, Form1.cs). Экземпляр стартовой формы (создание и выделение памяти) создается в процедуре main() в файле с именем Program.cs (см. рис.3). Создание экземпляра стартовой формы приложения осуществляется с помощью команды:
Application.Run(new Form1());
в данном случае оператор new для объектов типа Windows Forms (форм, элементов управления формой, графических объектов), отвечает за выделение памяти под один элемент типа Form1. Так как Form1 - это класс, то при создании одного экземпляра класса вызывается конструктор по умолчанию: new Form1().
Если созданная форма не является стартовой, то создание экземпляра уже не осуществляется автоматически. Этот вопрос решает сам разработчик. Добавление новой формы в проект будет описано в пятом разделе.
Каждый элемент управления (кнопка, текстовое окно, список с выбором и т.д.), помещенный на форму так же представляет собой соответствующий класс. При перетаскивании нового элемента на форму в класс этой формы добавляется информация, соответствующая размерам и другим свойствам созданного проекта.
Свойства выделенного мышью объекта можно увидеть в окне Properties, нажав на быструю кнопку со всплывающей подсказкой Properties (как правило, она нажата по умолчанию). События, на которые реагирует выделенный объект, можно посмотреть в том же окне Properties, нажав на быструю кнопку со всплывающей подсказкой Events (значок "молния").
Задать метод обработки события, можно двумя несколькими способами: а) зайти в окно Properties, выбрать пункт Events и дважды кликнуть на название события; б) зайти в окно Properties, выбрать пункт Events, кликнуть один раз на нужном событии из всплывающего рядом с событием списка методов выбрать один из уже существующих. Для того, чтобы задать метод обработки события по умолчанию, приписанного выделенному объекту (для кнопки это событие Click, для текстовых полей - TextChanged, для формы - Load и т.д.), нужно кликнуть два раза левой кнопкой мыши на этом объекте.
Рисунок 3
2. Основные свойства, методы и события формы: Приведем некоторые, наиболее часто используемые свойства, методы и события объекта "форма".
Свойства
Back Color-цвет фона
Language-язык MaximizeBox- задает значение, указывающее, отображается ли кнопка развертывания в строке заголовка формы.
MinimizeBox- задает значение, указывающее, отображается ли кнопка свертывания в строке заголовка формы.
Size - размер формы: ширина и высота в пикселах, StartPosition - задание расположения формы на экране при запуске Text - текст в заголовке формы
AutoScrollMargin - задает размер поля автоматической прокрутки
События Load - загрузка формы, происходит до ее первоначального отображения Resize - происходит при изменении размеров элемента управления Activated - происходит при активации формы Методы отображения и скрытия формы
Для отображения формы служит метод Show() этого класса, вызываемый соответствующим объектом; для скрытия формы используется метод Hide(). Реально методы Show() и Hide() изменяют свойство Visible объекта, так что вместо вызова этих методов можно менять значение этого свойства, устанавливая его либо в true, либо в false.
Заметьте разницу между сокрытием и закрытием формы - между методами Hide и Close. Первый из них делает форму невидимой, но сам объект остается живым и невредимым. Метод Close отбирает у формы ее ресурсы, делая объект отныне недоступным; вызвать метод Show после вызова метода Close невозможно, если только не создать объект заново. Открытие и показ формы всегда означает одно и то же - вызов метода Show. У формы есть метод Close, но нет метода Open. Формы, как и все объекты, создаются при вызове конструктора формы при выполнении операции new.
3. Рекомендуемые элементы управления и компоненты Элемент управленияОписаниеПримечаниеTextBox Ввод и редактирование текстаОтображает текст, введенный в режиме разработки, который пользователи могут изменять во время выполнения или с помощью программных средств.
Свойства:
Name - обязательное поле, имя элемента управления без пробелов и специальных символов (автоматически - textBox1)
BackColor - цвет фона
AutoSize - автоматически изменяющийся размер окна, в зависимости от длины текстовой строки
Enabled - флажок состояния: активное - true, неактивное - false
Font - шрифт, размер, интервал
Lines - отдельные строки текста, массив
Multiline - возможность переноса строк,
Если свойству Multiline присвоить значение true, это позволит вводить до 32 килобайт текста
ReadOnly - только для чтения, true - активировано свойство, false - не активировано, т.е. активировано для записи. ScrollBar - полоса прокрутки строк, Horizontal - по горизонтали, Vertical - по вертикали, Both - в оба направления, None - нет полосы прокрутки
Size - размеры текстового окна
Text - текст, помещенный в TextBox TextAlign - выравнивание текста:
Center - по центру, Left - по левому краю, Right - по правому краю
WordWrap - разрешение или запрет ввода пробелов.
Примечание:
Вводимые данные будут иметь тип String. Для работы с введёнными данными в нужном нам типе будем использовать функцию перевода Convert.To...().
Пример:
Поместим на форму элементы textBox1, button, label1, label2; пусть нам понадобится число, введённое в textBox1, сохраненное в формате double;
В классе Form1 опишем открытые переменные
String str1;
double a; в конструкторе Form1, инициализируем a=0; в обработчике события button1_Click пропишем:
str1 = textBox1.Text;
a = Convert.ToDouble(str1);
label1.Text = str1;
label2.Text = Convert.ToString(a);
в label1 будет записана строчка из textBox1, а в label2 будет записана переконвертированная строчка.Label Отображение текстовой информацииОтображает текст, недоступный для непосредственного редактирования пользователем при запуске и работе приложения. Свойства:
Name - имя элемента управления (автоматически-label1)
Text - отображаемый текст Font - шрифт
Size - размерButton КнопкаИспользуется для запуска, остановки или прерывания какого либо процесса. Свойства:
Name - задает имя элемента управления (автоматически-button1)
Text - отображаемый текст Font - шрифт
Size - размер Image - изображение на кнопкеComboBox
Комбинированный список с выборомОтображает раскрывающийся список.
Свойства:
Name -имя элемента управления (автоматически-comboBox1)
MaxDropDownElements - максимальное количество элементов в выпадающем списке
Sorted - отсортированный список, true -свойство активировано, false - не активировано
Items - хранит массив элементов списка
Text - хранит текст введенного или выбранного пункта списка
Примечание:
Обращение к элементам: //удаление элемента
comboBox1.Items.Remove(2);
//добавление элемента
comboBox1.Items.Add();
//количество элементов списка
comboBox1.Items.Count();
// конвертирование всех элементов в строковый формат
comboBox1.Items.ToString();
// конвертирование выделенного элемента в строковый формат comboBox1.Text.ToString();
// обращение к i-му элементу списка (индекс первого элемента списка-0)
int i=0;
comboBox1.Items[i];
// номер выбранного из списка элемента в формате int возвращает команда comboBox1.SelectedIndex;
4. Пример создания простейшего приложения
Создадим приложение, конвертирующее введенный текст в нужный формат данных, осуществляющее проверку корректности введенных данных. Поместим на форму объекты textBox1 и button1. Для работы нам понадобится число, введённое в textBox1, сконвертированное в тип double. Наложим ограничения на него: неотрицательное и не больше 1000;
В классе Form1 опишем открытые переменные
String str1;
double a;
System.Windows.Forms.DialogResult v; //v-результат //взаимодействия с диалоговым окном в конструкторе инициализируем a=0; Напишем блок Try, реагирующий на введённые данные, который нужно будет включить в обработчик события Click кнопки button1:
bool m=true; //булевая переменная,по которой будем //проверять правильность введённых данных
str1=textBox1.Text;
try
{
Convert.ToDouble(str1);
if(Convert.ToDouble(str1)<0) m=false; // неверный ввод
if(Convert.ToDouble(str1)>1000) m=false; // неверный ввод
}
catch(System.FormatException){m=false;}; // неверный ввод
if(m==false)
{
v=MessageBox.Show("Ввести заново?", "Данные введены некорректно!",МessageBoxButtons.YesNo);
m=false;
}
if(v==System.Windows.Forms.DialogResult.No)
{
str1="0";
Close();
}
else if(v==System.Windows.Forms.DialogResult.Yes)
{
textBox1.Text="";
str1=textBox1.Text;
}
if(m==true)
{
a=Convert.ToDouble(str1);
Close(); }
Теперь при неправильно введённых или не введенных данных будет вызываться диалоговое окно с запросом повторного ввода.
Рассмотрим теперь работу элемента Список с выбором. Для этого на форме расположим элементы comboBox1, label1, label2. Сотрем информацию из поля Text всех трех вновь созданных объектов. В свойстве Items элемента comboBox1 зададим список, состоящий из 3-х строк: "строка 1", "строка 2", "строка 3". Для того, чтобы это сделать, необходимо, выделив свойство Items, нажать на кнопку с тремя точками, находящуюся справа от выделенного свойства, далее в открывшемся окне ввести указанные строки через Enter. Зададим метод обработки события по умолчанию для элемента comboBox1. Это событие изменения выделенной строки -SelectedIndexChanged. В обработчик этого события включим код:
label1.Text=comboBox1.Text;
label2.Text=Convert.ToString(comboBox1.SelectedIndex);
Теперь при запуске приложения в label1 отображается текст выбранной из списка строки, а в label2 - порядковый номер строки в списке.
5. Добавление новой формы в проект
В окне Solution Explorer нужно выделить имя проекта и кликнуть правой кнопкой мыши. В выпадающем меню выбрать Add New Item, отметить объект Windows Form, ввести имя формы (Form2), нажать кнопку "Open". После чего появится Form2.cs (см. рис.4, 5, 6).
Рисунок 4
Рисунок 5
Рисунок 6
Чтобы вызвать Form2 из главной формы, необходимо:
Разместить на главной форме кнопку (например "OK"), в метод Click которой поместить текст:
Form2 SecondForm;
SecondForm=new Form2();
SecondForm.Show();
Чтобы закрыть форму SecondForm, не пользуясь стандартной кнопкой закрытия на верхней панели, нужно разместить на SecondForm новую кнопку (например кнопку с надписью "Close"), в обработчике события Click которой вызваем метод: Close(); // удаляет выделенную память
Чтобы скрыть форму нужно вызвать:
Hide();// не разрушает созданный объект
Если вторая форма SecondForm задана глобально, то есть не в событии класса Form1 как локальная переменная, а при описании класса Form1, как открытая глобальная для этого класса переменная, то память под вторую форму выделяется в конструкторе Form1, вызов команды SecondForm.Show() по-прежнему оставляют в событии нажатия на кнопку "OK" главной формы, а вот закрыть вторую форму теперь можно уже из любого события главной формы, Form1. Для этого вызывают все те же команды, но с указанием имени той формы, которую нужно закрыть:
SecondForm.Close();
или
SecondForm.Hide();
Документ
Категория
Рефераты
Просмотров
176
Размер файла
541 Кб
Теги
metod, laba
1/--страниц
Пожаловаться на содержимое документа