WWW.LIB.KNIGI-X.RU
БЕСПЛАТНАЯ  ИНТЕРНЕТ  БИБЛИОТЕКА - Электронные матриалы
 


«C.C. ЧЕБОТАРЁВ ПРОЕКТНЫЙ ПРАКТИКУМ Методические рекомендации УДК 004 ББК 32.973 Чеботарёв С.С. Проектный практикум: методические рекомендации. – Челябинск: Изд-во НОУВПО РБИУ, 2013. – 40 с. Настоящие ...»

C.C. ЧЕБОТАРЁВ

ПРОЕКТНЫЙ ПРАКТИКУМ

Методические рекомендации

УДК 004

ББК 32.973

Чеботарёв С.С. Проектный практикум: методические рекомендации. – Челябинск: Изд-во НОУВПО РБИУ, 2013. – 40 с.

Настоящие методические рекомендации по выполнению проектного практикума предназначены для студентов первого курса

направлений 230700.62 Прикладная информатика и 080500.62 Бизнес-информатика.

Рецензенты:

Мухина Ю.Р. – кандидат педагогических наук, доцент кафедры математики и информатики НОУВПО РБИУ.

УДК 004 ББК 32.973 © Чеботарёв С.С., 2013 © НОУВПО РБИУ, 2013 Содержание Введение

Методические рекомендации по выполнению практикума...... 5 Темы проектов

Краткое описание технологии Microsoft Windows Forms.......... 7 Рекомендуемая литература

Приложение

Введение Методические рекомендации и тематика проектных работ предназначены для студентов первого курса направлений 230700.62 Прикладная информатика и 080500.62 Бизнесинформатика.

Проектный практикум направлен на приобретение студентами практического опыта разработки программных проектов с использованием интегрированной среды разработки Microsoft Visual Studio, языка программирования Visual C# и платформы создания пользовательских интерфейсов Microsoft Windows Forms.

Выполнение проектного практикума поможет закрепить у студентов практические навыки:

проектирования пользовательского интерфейса;

разработки приложений на современном объектноориентированном языке Microsoft Visual C#.

В результате выполнения контрольной работы студент должен:

уметь:

проектировать и разрабатывать пользовательские интерфейсы;

составлять алгоритм для решения поставленных задач;

разрабатывать программы с использованием принципов объектно-ориентированного программирования;

овладеть:

навыками использования современных инструментов и технологий программирования и разработки интерфейсов.

Методические рекомендации по выполнению практикума Задачей данного проектного практикума является овладение методами применения современных инструментов программирования и разработки пользовательских интерфейсов.

План работ по практикуму:

1) знакомство с технологией разработки пользовательских интерфейсов Microsoft Windows Forms.

2) Выбор одной из предложенных тем проекта.

3) Выполнение проекта (разработка приложения).

4) Написание отчета по проекту.

Структура отчёта по проекту:

Титульный лист (приложение А);

Оглавление;

Введение;

Основная часть;

Заключение;

Список литературы;

Приложения.

Во введении указывается краткое описание проекта.

В основной части приводится описание проекта по этапам:

проектирование интерфейса, краткое описание всех использованных в проекте визуальных компонент (контролов) с указанием измененных свойств и событий, описание алгоритмов работы приложения (блок-схемы).

В заключении отражаются общие выводы по работе.

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

К отчёту по проекту прикладывается архив, содержащий исходный код проекта.

Темы проектов

«Угадай число». Компьютер загадывает целое число от 1 до 1.

100. Пользователю необходимо угадать это число. При этом компьютер на каждое введенное число сообщает больше, меньше или равно оно задуманному числу. Все введенные ранее числа сохраняются в списке. Ведется подсчёт попыток угадывания и времени угадывания. Создать таблицу рекордов.

Разработать приложение – кроссворд из заданных слов одинаковой длины. Клетки кроссворда можно представить, используя небольшие поля TEdit. Кроссворд должен содержать примерно 10 пятибуквенных слов.

Создать тестирующую программу, работающую с файлом, в 3.

котором в определенном формате хранятся 10 вопросов, альтернативы ответов и номер правильного ответа. Результаты тестирования выдаются в процентах и в таблице правильности ответа на каждый вопрос.

«Игра Баше» Два игрока - компьютер и человек ходят поочередно. В начале партии перед играющими находится группа из S предметов. Делая ход, можно взять из группы от одного до P предметов. Выигрывает тот, кто забирает последнюю порцию.

«Максит» Два игрока выбирают из таблицы числа. Один - из 5.

строки, другой - из столбца. Выигрывает тот, у кого окажется больше сумма при пустой таблице.

Игра «Крестики-Нолики».

6.

Игра «Виселица». Игра должна содержать не менее 20 слов.

7.

Игра «Охотники и утки». Перед пользователем-охотником 8.

стоит задача подстрелить как можно больше уток.

Предусмотрен выбор уровней сложности и таблица-рейтинг.

Игра «Кто хочет стать миллионером». База должна содержать 9.

не менее 20 вопросов разного уровня сложности.

–  –  –

Класс Form - Основа Win приложений Класс Form является основой для всех всех оконных приложений. Рассмотрим основные свойства этого класса, а точнее класса Form1 – наследника Form. Итак, когда вы создаете в Visual Studio Windows application проект, то автоматически создается класс (например Form1) наследованный от Form. Это и есть контейнер для вашего приложения. Вот собственно то, что сгенерировала студия namespace WindowsApplication2 { public partial class Form1 : Form { public Form1() { InitializeComponent();

} } } В конструкторе класса, вызывается метод Initialize Component() в нем будут инициализироваться все контролы данного окна, выставляться свойства и тд. Первоначальный запуск приложения как вы помните происходит из метода Main. В Win приложениях метод Main находится в файле Program.cs, в Main происходит вызов нашего класса Form1 static void Main() { Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);

Application.Run(new Form1());

} Строка Application.EnableVisualStyles();

отвечает за наличие стилей у окна и его контролов Нажимаем Ctrl+F5 и запустится ваше первое оконное приложение.

Теперь давайте посмотрим наиболее интересные свойства нашего окна.

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

2. Text - Задает заголовок окна.

3. MaximumSize и MinimumSize - задают соответственно максимальный и минимальный размер окна.

4. StartPosition - Задает позицию в которой будет первоначально формироваться окно. Например: CenterScreen или CenterParent.

5. WindowState - позволяет задать состояние окна (свернутое или развернутое на весь экран).

6. Icon - Задает иконку для окна.

7. MaximizeBox и MinimizeBox - позволяет скрыть кнопки управления состоянием окна (кнопки в правом верхнем углу окна).

8. Opacity - задает прозрачность окна.

9. ShowIcon - Показывать или нет иконку.

10. ShowInTaskBar - Показывать или нет окно в windows explorer.

11. TopMost - Окно будет по верх остальных окон.

Основные контролы Win приложений - Button Окно само по себе это бесполезный класс и никакой пользы программисту а следовательно и пользователю не несет. Окно всего лишь контейнер для других более важных контролов управления. Рассмотрим элемент Button: откроем toolbox (панель элементов) в разделе Common Controls (стандартные элементы) найдем button и переместим на нашу форму Теперь рассмотри основные свойства кнопки

1. Text - Текст на кнопке.

2. FlatStyle - определяет стиль кнопки.

3. Enabled - В true кнопка доступна для нажатия.

4. Visible - в false кнопка не отображается на форме, хотя она есть.

5. TabInsex - определяет последовательность перехода на контрол по Tab-у.

6. Dock - определяет заполнение одного из краев (или всех сразу) которое будет заполнять контрол, того контейнера в котором находится.

7. Anchor - Определят какого края контейнера будет придерживаться контрол при растягивании формы.

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

Теперь о событиях: У кнопки есть большой список событий, которые вы можете использовать. Самое часто используемое свойство – это Click. Что бы быстро обработать обработчик данного события необходимо дважды кликнуть по кнопке в окне дизайнера. Откроется метод в котором вы будите обрабатывать событие.

Окунемся чуть глубже. Как обрабатываются события? Для этого необходимо в инициализации нашей кнопки определить делегат и указать ему метод который будет вызываться при возникновении данного события.

Вот так:

this.button1.Click += new System.EventHandler(this.button1_Click);

Visual Studio автоматически вставляет данную строку в файл дизайнер, в нашем случае это Form1.Disigner.cs Теперь в обработчике вы можите например показать размер кнопки private void button1_Click(object sender, EventArgs e) { MessageBox.Show(button1.Size.Width + " x " + button1.Size.

Height);

} Основные контролы Win приложений - TextBox Рассмотрим текстовое поле или просто TextBox.

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

Свойства:

1. Text - Собственно строка введенного текста.

2. CharacterCasing - возможность вводить только большие буквы или только строчные.

3. MultiLine - Текстовое поле трансформируется в поле для ввода нескольких строк.

4. PasswordChar - Если установлен какой либо символ, то поле маскирует ввод текста под пароль и текст скрывается под введенный символ (например звездочку).

5. ReadOnly - в true текстовое поле недоступно для редактиования.

Событий так же целая масса:

По умолчанию в студио выделен TextChanged - отрабатывает когда текст в поле изменен. Протестировать можно следующим образом.

Добавляем на форму еще Label в текст будем выводить то что сейчас есть в нашем текстовом поле вот так private void textBox1_TextChanged(object sender, EventArgs e) { label1.Text = textBox1.Text;

} Основные контролы Win приложений - CheckBox CheckBox CheckBox необходим для выбора варианта ответа ДА/НЕТ

Свойства:

1. Text - Надпись рядом с крыжеком (галочкой). Обычно вопрос.

Состояние контрола. (ОтмеCheckState чен/неотмечен/неопределено)

3. ThreeState - Указывает позволять или нет выбирать третье состояние (Неопределенное)

4. Checked - Возвращает true если контрол отмечен, false если не отмечен Основным событием является CheckedChanged - Отрабатывает когда изменено состояние контрола private void checkBox1_CheckedChanged(object sender, EventArgs e) { MessageBox.Show(checkBox1.Checked.ToString());

} Надо отметить то, что если разрешено третье состояние, то событие не отработает при выборе неопределенного Основные контролы Win приложений - RadioButton RadioButton Радио кнопки позволяют сделать выбор между несколькими предложенными вариантами. Чтобы компилятор знал какие варианты ответа относятся к одному вопросу, радио кнопки объединяют в группу.

Свойства:

1. Text - Вариант ответа

2. Checked - Возвращает true если контрол отмечен, false если не отмечен.

Если у вас на форме две группы ответов, то необходимо разносить их по разным контейнерам. Сделаем это с помощью элемента управления GroupBox Основным событием является CheckedChanged - отрабатывает когда изменено состояние контрола.

К сожалению узнать бстро выбранный контрол из группы не получится, придется перебрать свойство Checked у каждого контрола входящего в группу.

Основные контролы Win приложений - ComboBox ComboBox Выпадающий список часто используется в приложениях и может использоваться как с фиксированным набором выпадающих элементов так и как хранилище выборки из базы данных

Свойства:

1. Text - Надпись на контроле. Надо понимать что это не элемент списка а всего лишь первоначальная надпись. И при выборе одного из жлементов списка надпись больше не появится.

2. Sorted - Сортирует список

3. Items - Собственно сама коллекция

4. DropDownStyle - выбор стиля контрола Работа с элементами списка проходит через Items у которого есть методы

1. Add - Добавление элемента в список

2. Clear - Очищает список

3. Remove - Удаляет элемент списка Для примера заполним список числами от 0 до 100 for (int i = 0; i 100; i++) comboBox1.Items.Add(i);

Узнать выбранный элемент можно используя свойства SelectedItem, SelectedText, SelectedIndex private void comboBox1_SelectedIndexChanged(object sender, EventArg s e) { MessageBox.Show(comboBox1.SelectedItem.ToString());

} Данный код помещен в обработчик события SelectedIndex Changed который выполняется как только сменится элемент списка Выводим версию приложения Для вывода версии приложения, её необходимо сначало установить. По умолчанию она 1.0.0.0. Установить текущую версию приложения можно в свойствах приложения А теперь в обработчике Load форы выведем текущую версию в заголовок окна private void Form1_Load(object sender, EventArgs e) { this.Text += " Version: " + System.Reflection.Assembly.Get ExecutingAssembly().GetName().Version.ToString();

} Таким образом из Assembly можно получить и другую информацию (Контора, копирайт, и тд) Модальные окна При создании класса наследника от Form возникает естественные потребности показать данное окно. Как вы знаете, окно может быть как модальным так и обычным. Различие в том, что при модальном окне вы не сможете переключиться в другое окно пока данное (модальное) не закрыто. Для управлением показа существует у класса два метода Show() - Отображает обычное окно (переключение между окнами возможно) ShowDialog() - Отображает диалоговое (модальное) окно (переключение между окнами не возможно) Передача параметров между окнами Рассмотриv пример передачи параметров из child окна в родительское. Плюс к нашей основной форме создадим небольшое окно с текстовым полем и кнопкой. Кнопке установим свойство DialogResult – OK, это будет означать, что при нажатии данной кнопки окно вернет DialogRegult == OK что и будет событием для отображения параметра введенную в дочернюю форму.

Чтобы в родительском окне было видно текстовое поле дочернего, установим модификатор у текстового поля в public. Итак на главной форме в обработчики какого либо события (по которому будем показывать дочернее окно) создаем нашу вторую форму и отображаем ее Form2 window = new Form2();

window.ShowDialog();

Далее обрабатываем события нажатия нашей OK кнопки и показываем параметр (введенный текст) в родительском окне if (window.DialogResult == DialogResult.OK) MessageBox.Show(window.textBox1.Text);

Маска ввода Часто хочется от пользователя добиться правильного ввода данных. Для облегчения данной задачи в.NET 2.0 создали специальный контрол - MasketTextBox. Он позволяет вводить текст по заранее заданному шаблону. Давайте добавим на форму этот компонент и создадим шаблон для ввода IP адреса. IP адрес состоит из 4 групп (v. IP4) разделенных точками. Цифры отображаем нулями. Разделители точками. Нижнее поле показывает, как будет отображаться контрол до ввода данных.

А вот контроль в действии

Отображение ошибок - ErrorProvider В.NET Framework существует компонент, который позволяет привлечь пользователя к какому либо критическому участку (выполнения действия или заполнения формы) - ErrorProvider Возвращаясь к предыдущему примеру, используя masketTextBox нельзя проконтролировать диапазон введенных цифр. Давайте на кнопку, выполняющую действие, с введенным IP “повесим” проверку IP и покажем ошибку если он не валидный private void button1_Click(object sender, EventArgs e) { // проверка IP //...........

//-----------errorProvider1.SetError(maskedTextBox1, "Не верный IP");

} Метод SetError зажигает ошибку, передавая в качестве параметра, к какому контролу привязаться и текст ошибки У провайдера имеются множество свойства позволяющих настраивать отображение иконки и проч.

Достучаться до реестра Для работы с реестром в.NET используется пространство имен System.Microsoft.Win32 класс Registry. Узнаем производителя процессора. Для этого при создании класса ключа реестра укажем корневую ветку.

Microsoft.Win32.RegistryKey myRegKey = Microsoft.Win32.Registry.L ocalMachine;

Далее указываем полный путь до необходимого ключа myRegKey = myRegKey.OpenSubKey("HARDWARE\\DESCRIPTIO N\\System\\CentralProcessor\\0");

Берем значение параметра и выводим его Object oValue = myRegKey.GetValue("VendorIdentifier");

MessageBox.Show("The central processor of this machine is "+ oValu e.ToString());

Достучаться до служб В.NET имеется пространство имен ServiceProcess которое позволяет через класс ServiceController работать со службами имеющимися на данном компьютере. Итак давайте получим список сервисов имеющихся на компьютере.

Для этого воспользуемся методом GetDevices() класс ServiceController. Не забудьте сделать референс на сборку System.ServiceProcess и добавить это пространство имен using System.ServiceProcess;

–  –  –

Разместим компоненты на форме сделаем следующим образом: вверху будет располагаться шапка с текстовым полем, снизу область для кнопки, а посередине будет грид (сетка) который будет заполнять все оставшееся пространство при изменении размеров формы. Разместим компоненты как показано ниже.

Для того, чтобы грид растягивался во все стороны необходимо привязать его ко всем сторонам формы, выставив свойство Anchor в Top, Bottom, Left, Right.Что бы грид не перекрывал кнопку при масштабировании, необходимо изменить anchor для кнопки на значение Bottom, Left. Теперь при растяжении растягивется грид, а кнопка следует вниз за нижней границей формы.

Считываем нажатую клавишу Посмотрим как можно распознать нажатую кнопку на форме.

Для этого нам надо подписаться на событие KeyPress нашей формы private void Form1_KeyPress(object sender, KeyPressEventArgs e) В сгенерившейся функции передаются аргументы связанные с нажатой кнопкой. Добавим вывод нажатой кнопки в метку на форме label1.Text = e.KeyChar.ToString();

Создаем DLL Сегодня будем создавать динамическую библиотеку DLL. На самом деле DLL это тот же исполняемый код, только в нем нет Main и вызов методов происходит из вашей exe сборки. Плюсом является то, что в память DLL загружается только при вызове методов находящихся в ней.

Итак, создаем проект В классе создадим метод который будет возвращать текущий день недели using System;

using System.Collections.Generic;

using System.Text;

–  –  –

Используем DLL Кликаем правой кнопкой мыши по проекту в окне SolutionExplorer Нажимаем Add Reference. Ищем нашу DLL и добавляем ее в проект После этих действий пространство имен ClassLibrary1 и класс Class1 будут видны в нашем проекте. Вызовем единственный метод класса MessageBox.Show(ClassLibrary1.Class1.Today());

Результат на экране Выбираем цвет В.NET существует целый ряд диалоговых окон, сегодня мы рассмотрим ColorDialog. На примере мы будем разукрашивать надпись в Label цветом выбранным в диалоговом окне. Создаем colorDialog и бросаем его на форму. При нажатие на кнопке открываем диалог цветов.

При положительном выборе цвета в диалоговом окне, назначаем этот цвет метке private void button1_Click_1(object sender, EventArgs e) { DialogResult dr = colorDialog1.ShowDialog();

if (dr == DialogResult.OK) label1.ForeColor = colorDialog1.Color;

} Файловый диалог Еще одним из примеров диалогов является файловый выбор – OpenFileDialog. Данный элемент управления позволяет выбрать файл из имеющихся на компьютере. Размещаем компонент на форме. Для вывода полного пути до файла разместим textbox. Для кнопки добавляем обработчик события “Click” и описываем открытие формы и обработку DialogResult private void button1_Click_1(object sender, EventArgs e) { DialogResult dr = openFileDialog1.ShowDialog();

if (dr == DialogResult.OK) textBox1.Text = openFileDialog1.FileName;

} OpenFileDialog имеет большое количество полезных свойств, позволяющие тонко настроить данный компонент Title - задает заголовок окна;

Filter - Позволяет фильтровать файлы по расширению (C# файлы|*.cs);

MultiSeelct - Позволяет выбирать несколько файлов;

initialDirectory - Начальный каталог.

Создаем браузер К нашему счастью веб браузер уже есть – это компонент WebBrowser Остается только добавить пару дополнительных контролов, что бы мы могли перемещаться по интернету вводя URL.

Добавляем текстовое поле, в которое будем вводить URL. Добавляем кнопку и используем метод Navigate для отображения в броузере private void button1_Click_1(object sender, EventArgs e) { webBrowser1.Navigate("http://"+textBox1.Text);

} Наш первый браузер готов Динамическое создание дерева - TreeView Что бы рассмотреть работу с деревом (компонент TreeView), предлагаю начитать структуру двух первых уровней каталогов вашего диска С Для этого нам потребуется класс DirectoryInfo из пространства имен System.IO Используя метод GetDirectoties мы получим список каталогов, далее будем рекурсивно добавлять узлы в дерево используя метод Add DirectoryInfo di = new DirectoryInfo(@"c:\");

foreach (DirectoryInfo di2 in di.GetDirectories()) { TreeNode tn = new TreeNode(di2.Name);

DirectoryInfo d3 = new DirectoryInfo(di2.FullName);

foreach (DirectoryInfo d4 in d3.GetDirectories()) { tn.Nodes.Add(new TreeNode(d4.Name));

} treeView1.Nodes.Add(tn);

}

Мини explorer первых двух уровней вложенности диска C готов

Окна родитель и потомок Для получения вложенной структуры окон (например как в Wopd'e) Необходимо в родительском окне указать свойство IsMDIcontainer = true. Чтобы все окна открываем из него отображались как вложенные, необходимо у создаваемых окон указать в свойстве MdiParent родительское окно

Form2 w = new Form2(); w.MdiParent = this; w.Show();

Управляем форматом даты По умолчанию все настройки отображения даты, время, разделителей дробных чисел берутся из региональных настроек Windows. Для переопределения отображения даты создадим класс DateTimeFormatInfo из пространства имен System.Globalization и настроим его свойство ShortDatePattern в тот формат который нам нужен.

MessageBox.Show(DateTime.Now.ToString());

System.Globalization.DateTimeFormatInfo dtfi = new System.Globalizati on.DateTimeFormatInfo();

dtfi.ShortDatePattern = "yyyy-MM-dd";

MessageBox.Show(DateTime.Now.ToString(dtfi));

Еще про региональные параметры При попытке выполнить преобразование строки в double следующей командой Convert.ToDouble("2.5");

На русской версии ОС Windows в процессе выполнения вылетит ошибка о несоответствии формата. Дело в том, что при преобразовании берутся региональные настройки, а для России в качестве разделителя целой и дробной части по умолчанию запятая, а в тексте точка. Для корректного преобразования необходимо передать провайдер формата. Класс NumberFormatInfo служит как раз для этого Sytem.Globalization.NumberFormatInfo nfi = new System.Globalizati on.NumberFormatInfo();

nfi.NumberDecimalSeparator = ".";

Convert.ToDouble("2.5", nfi);

Рисуем на форме В нет рисование происходит через GDI+. Для примера нарисуем на нашей форме круг, используя класс Graphics и метод DrawEllipse Graphics g = Graphics.FromHwnd(this.Handle);

g.DrawEllipse(new Pen(Color.Green), 100, 100, 30, 30);

В качестве параметров методу передаются: объект карандаш, координаты расположения и размер по вертикали и горизонтали.

Языковая кастомизация Как уже говорилось ранее, большинство настроек адаптации по территории и тд берутся из региональных параметров. Однако вы можите управлять ими. В.NET Контролы могут хранить текст в нескольких языках. Вот как это делается из Студии на примере метки Label У формы на которой будет использоваться “мультиланг” устанавливаем у свойства Language язык – русский. Пишем свойство метки Text - "Пример". Меняем Language у формы на английский, далее у метки Text на "Example". Теперь запустим программу, если у вас русская версия Windows то вы увидите следующее далее давайте в конструкторе формы поменяем язык для UserInterface на английский и посмотрите что будет написано в метке public Form1() { System.Threading.Thread.CurrentThread.CurrentUICulture = new System.

Globalization.CultureInfo("en-US");

InitializeComponent();

} Контекстное меню Рассмотрим процесс прикрепления контекстного меню к одному из контролов, а именно к метке Label. Необходимо на форме разместить комнонент ContextMenuStrip. Добавляем в него два два пункта "Enabled" и "Disabled" В свойстве contextMenuStrip у метки указываем имя нашего меню. После таких манипуляций при щелчке правой кнопкой по Label покажется наше меню с двумя пунктами. Построим обработчик для каждого пункта, по щелчке по которому будет меняться текст у метки private void enabledToolStripMenuItem_Click(object sender, EventArgs e) { label1.Text = "Enabled";

} private void disabledToolStripMenuItem_Click(object sender, EventArgs e) { label1.Text = "Disabled";

}

–  –  –

Для того чтобы ваша программа отражалась в трее существует компонент NotifyIcon. Для отображения в трее необходимо указать иконку для отображения в свойстве Icon. Одной из привлекательных возможность данного компонента является возможность показывать всплывающие уведомления в области трея. Для этого используется метод ShowBalloonTip. В качестве параметров принимает время в милисекундах на которое покажется подсказка, заголовок, текст и иконка уведомления notifyIcon1.ShowBalloonTip(5000, "Title", "Text", ToolTipIcon.Info);

–  –  –

Для наглядного отображения хода выполнения длительной операции применяется ProgressBar. Основными свойствами является нижний и верхний предел допустимых значений - Minimum и Maximum. Value содержит текущее значение прогресс бара. Также можно задать стиль отображения контрола в свойстве Style. На примере покажем как прокрутить прогресс бар от 0 до 100

–  –  –

Для вывода информации в строке состояния необходимо установить контрол StatusStrip. На самом деле этот компонент контейнер и может кроме тектовой строки отображать также прогрессбар, splitbutton, dropdownbutton Выберите необходимый элемент для отображения (допустим toolStripStatusLabel). Для вывода информации в него используется свойство Text.

toolStripStatusLabel1.Text = "Нажата кнопка";

Таймер Timer используется для запуска каких либо действий через определенное время. Для задания времени срабатывания используется свойство interval. Существует единственно событие Tick которое отрабатывает через время заданное в Interval. Можно временно выключать таймер переводя свойство enable в false.

private void timer1_Tick(object sender, EventArgs e) { label1.Text = DateTime.Now.ToString();

} Работа с конфигурационным файлом Рассмотрим механизм работы с конфигурационными файлами в WIN приложениях.

Для начала добавляем в проект конфиг файл Будет создан файл в XML формате Подключаем библиотеку using System.Configuration;

Создаем объект через который будем взаимодействовать с файлом конфигурации Sytem.Configuration.Configuration config = ConfigurationManager.O penExeConfiguration(ConfigurationUserLevel.None);

Выбираем секцию конфиг файла AppSettingsSection appSettings = (AppSettingsSection)config.GetSect ion("appSettings");

Вот пример файла конфигурации configuration configSections sectionGroup name="applicationSettings" type section name="ProjectReport.Properties.Set /sectionGroup /configSections appSettings add key="server" value="MyServer" / /appSettings connectionStrings / /configuration Когда секция подключена можно читать и сохранять параметры. Читаем параметры конфиг файла MessageBox.Show(appSettings.Settings["server"].Value);

Записываем новое значение appSettings.Settings["server"].Value = "NewServer";

После внесения новых значений необходимо сохранить конфигурационный файл config.Save();

–  –  –

1. Павловская Т.А. C#. Программирование на языке высокого уровня. Учебник для вузов: учебник. – Питер, 2014. – 432 с.

2. Иванова Г.С. Программирование: учебник. – Кнорус, 2014. – 432 с.

3. Стиллмен Э. Изучаем C#. – Питер, 2014. – 816 с.

4. How to: Create a C# Windows Forms Application // [Электронный ресурс]: http://msdn.microsoft.com/ru/library/360kwx3z%28v= vs.90%29.aspx.

ПРИЛОЖЕНИЕ 1 Негосударственное образовательное учреждение высшего профессионального образования «Русско-Британский Институт Управления»

(НОУВПО РБИУ) Кафедра математики и информатики Фома обучения очная (очно-заочная, заочная, дистанционная) Направление (специальность)____________________

Проектный практикум Тема проекта: «____________________________________________»

Похожие работы:

«ЛОГОРИТМИЧЕСКИЕ УПРАЖНЕНИЯ ДЛЯ МЛАДШИХ ДОШКОЛЬНИКОВ Увеличение контингента детей с речевыми нарушениями, посещающих общеобразовательное дошкольное учреждение, в последние годы отмечаются всё чаще. В массовом детском саду дети с нару...»

«3 ФИЗИЧЕСКОЕ 1 (5) – 2013 СОДЕРЖАНИЕ ВОСПИТАНИЕ И СПОРТИВНАЯ ТРЕНИРОВКА Методика и педагогические технологии физического воспитания и спортивной тренировки Научно-методический Н.Л. Горячева. Организация и провед...»

«Isolate, I SO lat, v.t. ИЗОЛировать — значит исключить внешние воздействия Благодарим за покупку! Добро пожаловать! Спасибо за то, что Вы приобрели наш сетевой фильтр ISOL 8 Mini Sub — надеемся на дальне...»

«муниципальное бюджетное образовательное учреждение дополнительного образования детей "Дом детского творчества" Проектно-исследовательская работа "Часовня Кирилла Вельского"Выполнил: Чекрыгин Сергей, 10 класс Объединение "Художественное выпиливание и выжигание"Руководитель: Педагог дополнительного об...»

«"Настоящей наукой можно заниматься в обществе, построенном на иных принципах, чем купля-продажа" Н. Винер ЧАСТЬ III ВЫДАЮЩИЕСЯ УЧЕНЫЕ Академик Жорес Иванович Алфёров: Гражданин. Ученый. Патриот. Исследования Леонида Витальевича Канторовича в области программирова...»

«Муниципальное общеобразовательное учреждение средняя общеобразовательная школа с. Выползово. Программа мониторинга уровня сформированности универсальных учебных действий в начальной школе Обсуждена и согласована "...»

«Дата проповеди: 15 мая 2016 года Тема: Церковь, которую ведет Дух Святой Место Писания: Деяние 13:1-5 Пастор: Ли Ён Хун Писание В Антиохии, в тамошней церкви были некоторые пророки и учители: Варнава, и Симеон,...»

«А.А. Остапенко ОЧЕВИДНАЯ ПЕДАГОГИКА ОЧЕВИДНАЯ ПЕДАГОГИКА Модульная 9 785879 53333 0 наглядность в преподавании вузовского курса Андрей Александрович Остапенко Доктор педагогических наук, А.А. Остапенко профессор Кубанского государственного университета, Модульная наглядность Екатеринодарской...»








 
2017 www.lib.knigi-x.ru - «Бесплатная электронная библиотека - электронные матриалы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.