
- •Минобрнауки россии
- •1. Вводная часть
- •2. Знакомство со средой разработки на примере создания простого консольного приложения
- •3. Модификация консольного приложения
- •4. Публикация
- •5. О приложении к Лабораторной работе № 1
- •2. Лабораторная работа № 2: Создание простого приложения Windows Forms Лабораторная работа № 2: Создание простого приложения Windows Forms
- •1. Вводная часть
- •2. Создание простого приложения Windows Forms
- •3. Модификация приложения Windows Forms
- •4. Завершающая часть
- •5. О приложении к Лабораторной работе № 2
- •3. Лабораторная работа № 3: Windows Forms и использование некоторых элементов управления Лабораторная работа № 3: Windows Forms и использование некоторых элементов управления
- •1. Вводная часть
- •2. Создание приложения Windows Forms
- •3. Модификация приложения Windows Forms
- •4. Модификация приложения Windows Forms: элемент управления MenuStrip
- •5. Модификация приложения Windows Forms: элемент управления Button
- •6. Модификация приложения Windows Forms: элемент управления ToolTip
- •7. Модификация приложения Windows Forms: элемент управления ComboBox
- •8. Модификация приложения Windows Forms: элемент управления WebBrowser
- •9. Модификация приложения Windows Forms: добавляем исходный код
- •10. Завершающая часть
- •11. О приложение к Лабораторной работе № 3
- •4. Лабораторная работа № 4: Windows Forms — работа с формами Лабораторная работа № 4: Windows Forms — работа с формами
- •1. Вводная часть
- •2. Создание приложения Windows Forms
- •3. Модификация приложения Windows Forms
- •4. Модификация приложения Windows Forms: добавление новой формы
- •5. Модификация приложения Windows Forms: динамическое связывание параметров двух форм и передача параметра через прямой доступ к элементу формы
- •6. Модификация приложения Windows Forms: динамическое связывание параметров двух форм и передача параметра через передачу метода в конструктор формы
- •7. Модификация приложения Windows Forms: динамическое связывание параметров двух форм и передача параметра через класс делегата
- •8. Модификация приложения Windows Forms: динамическое связывание параметров двух форм и передача параметра через свойства
- •9. Завершающая часть
- •2. Создание приложения Windows Forms
- •3. Модификация приложения Windows Forms
- •4. Модификация приложения Windows Forms: динамическое добавление и уничтожение элемента управления
- •5. Модификация приложения Windows Forms: стандартные диалоговые окна
- •6. Модификация приложения Windows Forms: открытие файла, сохранение файла и работа с текстом
- •7. Модификация приложения Windows Forms: прочее
- •8. Завершающая часть
- •9. О приложении к Лабораторной работе № 5
- •6. Лабораторная работа № 6: SolidWorks — работа с SolidWorks Лабораторная работа № 6: SolidWorks — работа с SolidWorks
- •1. Вводная часть
- •2. Создание приложения Windows Forms
- •3. Модификация приложения Windows Forms: eDrawings 2012
- •4. Модификация приложения Windows Forms: организация работы с SolidWorks через приложение
- •5. Завершающая часть
- •6. О приложении к Лабораторной работе № 6
- •1. Вводная часть
- •2. Создание приложения SwCSharpAddin
- •3. Модификация приложения SwCSharpAddin: макрос отрисовки болта
- •4. Модификация приложения SwCSharpAddin: построение через шаблон детали
- •5. Завершающая часть
- •6. О приложении к Лабораторной работе № 7
- •8. Лабораторная работа № 8: Создание простого приложения Windows Foundation Presentation Лабораторная работа № 8: Создание простого приложения Windows Foundation Presentation
- •1. Вводная часть
- •2. Создание приложения Windows Foundation Presentation
- •3. Модификация приложения Windows Foundation Presentation
- •4. Модификация приложения Windows Foundation Presentation: добавление нового элемента из библиотеки компонентов wpf
- •5. Модификация приложения Windows Forms: расширение функциональности приложения и работа с оформление
- •6. Модификация приложения Windows Foundation Presentation: различные возможности wpf
- •7. Модификация приложения Windows Foundation Presentation: немного о стилях и шаблонах
- •8. Завершающая часть
- •9. О приложении к Лабораторной работе № 8
- •9. Лабораторная работа № 9: Создание приложения-презентации Windows Foundation Presentation Лабораторная работа № 9: Создание приложения-презентации Windows Foundation Presentation
- •1. Вводная часть
- •2. Создание приложения Windows Foundation Presentation
- •3. Модификация приложения Windows Foundation Presentation
- •4. Модификация приложения Windows Foundation Presentation: работа с решением в Expression Blend
- •5. Завершающая часть
- •2. Создание приложения Windows Forms
- •3. Модификация приложения Windows Forms: odbc
- •4. Модификация приложения Windows Forms: ole
- •5. Модификация приложения Windows Forms: xml
- •6. Завершающая часть
- •7. О приложении к Лабораторной работе № 10
- •11. Лабораторная работа № 11: Динамическая связь приложений через библиотеку классов Лабораторная работа № 11: Динамическая связь приложений через библиотеку классов
- •1. Вводная часть
- •2. Удалённый объект: создание библиотеки классов удалённого объекта
- •3. Клиент: создание приложения Windows Forms
- •4. Сервер: создание консольного приложения
- •5. Завершающая часть
- •6. О приложении к Лабораторной работе № 11
- •12. Лабораторная работа № 12: Автоматизация Microsoft Office Word Лабораторная работа № 12: Автоматизация Microsoft Office Word
- •1. Вводная часть
- •2. Создание приложения Windows Forms
- •3. Модификация приложения Windows Forms: создание и заполнение нового документа Microsoft Word
- •4. Модификация приложения Windows Forms: работа с шаблонами
- •5. Завершающая часть
- •6. О приложении к Лабораторной работе № 12
- •13. Лабораторная работа № 13: Автоматизация Microsoft Office Excel Лабораторная работа № 13: Автоматизация Microsoft Office Excel
- •1. Вводная часть
- •2. Создание приложения Windows Forms
- •3. Модификация приложения Windows Forms: создание и заполнение нового документа Microsoft Excel
- •4. Модификация приложения Windows Forms: чтение данных с документа Microsoft Excel
- •5. Модификация приложения Windows Forms: прочие возможности Microsoft Excel
- •6. Завершающая часть
- •7. О приложении к Лабораторной работе № 13
- •14. Лабораторная работа № 14: Простой растровый редактор Лабораторная работа № 14: Простой растровый редактор
- •1. Вводная часть
- •2. Создание приложения Windows Forms
- •3. Модификация приложения Windows Forms: подготовка интерфейса редактора
- •4. Модификация приложения Windows Forms: функциональность растрового редактора
- •5. Завершающая часть
- •6. О приложении к Лабораторной работе № 14
- •15. Лабораторная работа № 15: Векторный редактор изображений Лабораторная работа № 15: Векторный редактор изображений
- •1. Вводная часть
- •2. Создание решения, приложения Windows Forms и библиотеки классов
- •3. Модификация приложения Windows Forms: подготовка интерфейса редактора и добавление файлов ресурсов
- •4. О будущей функциональности векторного редактора изображений
- •5. Модификация приложения Windows Forms: подготовка библиотеки классов
- •6. Модификация приложения Windows Forms: функциональность векторного редактора
- •7. Завершающая часть
- •8. О приложении к Лабораторной работе № 15
- •16. Лабораторная работа № 16: Windows Communication Foundation Лабораторная работа № 16: Windows Communication Foundation
- •1. Вводная часть
- •2. Создание приложения wcf:
- •3. Модификация приложения wcf: приложение-клиент для wcf-службы
- •4. Создание приложения Windows Forms: сервер чата на wcf
- •5. Создание приложения Windows Forms: клиент чата на wcf
- •6. Завершающая часть
- •7. О приложении к Лабораторной работе № 16
- •17. Лабораторная работа № 17: Знакомство с Silverlight Лабораторная работа № 17: Знакомство с Silverlight
- •1. Вводная часть
- •2. Создание приложения Silverlight:
- •3. Модификация приложения Silverlight: первые шаги и полноэкранный режим
- •4. Модификация приложения Silverlight: простой проигрыватель mp3-файлов
- •5. Модификация приложения Silverlight: работа с анимацией
- •6. Завершающая часть
- •7. О приложении к Лабораторной работе № 17
- •18. Лабораторная работа № 18: Знакомство с asp.Net Лабораторная работа № 18: Знакомство с asp.Net
- •1. Вводная часть
- •2. Создание веб-приложения asp.Net
- •3. Модификация веб-приложения asp.Net: реализация различной функциональности
- •4. Модификация веб-приложения asp.Net: ajax
- •5. Завершающая часть
- •6. О приложении к Лабораторной работе № 18
- •1. Вводная часть
- •2. Создание приложения Windows Forms
- •3. Модификация приложения Windows Forms: подготовка интерфейса и добавление TabControl
- •4. Модификация приложения Windows Forms: вкладка «Просто фон!»
- •5. Модификация приложения Windows Forms: вкладка «Объекты и градиент»
- •6. Модификация приложения Windows Forms: вкладка «Мой монитор сломался!»
- •7. Модификация приложения Windows Forms: вкладка «Векторные часы»
- •8. Модификация приложения Windows Forms: вкладка «Огонь!!!»
- •9. Модификация приложения Windows Forms: вкладка «Дождик»
- •10. Завершающая часть
- •11. О приложении к Лабораторной работе № 19
- •1. Вводная часть
- •2. Основные положения при работе с f#
- •3. Создание приложения «Учебник по f#»
- •4. Создание консольного приложения
- •5. О приложении к Лабораторной работе № 21
- •22. Лабораторная работа № 22: Различные примеры на f# Лабораторная работа № 22: Различные примеры на f#
- •1. Вводная часть
- •2. Создание приложения «Приложение f#»
- •3. Модификация приложения f#: match
- •4. Модификация приложения f#: создание форм и рисование объектов на форме
- •5. Модификация приложения f#: работа с базой данных Microsoft Access
- •6. О приложении к Лабораторной работе № 22
- •23. Дополнительная лабораторная работа № 1
- •24. Дополнительная лабораторная работа № 2
- •25. Дополнительная лабораторная работа № 3
- •1. Вводная часть
- •2. Создание приложения Windows Foundation Presentation
- •3. Модификация приложения Windows Foundation Presentation: добавление ресурсов
- •4. Модификация приложения Windows Foundation Presentation: добавление исходного кода
- •5. Модификация приложения Windows Foundation Presentation: оформление элемента ListBox
- •6. Завершающая часть
- •7. О приложении к данной работе
5. Модификация приложения Windows Forms: стандартные диалоговые окна
Расставим вторую группу элементов. Наша цель, по нажатию кнопок Изменить фон формы, вызвать стандартное окно выбора цветов. По нажатию в нём кнопки ОК меняем цвет фона. Кнопка Отмена справа возвращает фон по умолчанию. Вторая кнопка Изменить шрифт формы, меняет весь шрифт используемый на форме. Кнопка Отмена возвращает всё «как было». Дальше, здесь же поставим элемент CheckedListBox. При выборе пункта Овальность, поменяем форму нашего окна на овал. При выборе пункта Непрозрачность окна в %, окно меняет прозрачность в зависимости от числа (от 0 до 100) в NumericUpDown. Кнопка Выбор директории открывает стандартный диалог выбор папки через Проводник Windows. По нажатию кнопки ОК отобразив в текстовом поле редактирования полный путь к выбранной директории. Добавим также ещё один ProgressBar который будет отсчитывать время по секундам и обнуляться по прошествии минуты. Отсчёт времени будем вести по текущему системному.
Расставим вторую группу следующим образом:
Рис. 5. 1. Расстановка элементов второй группы (Стандартные диалоговые окна)
Кнопка Изменить фон формы:
(Name): |
button5 |
Text: |
Изменить фон формы |
Кнопка Отмена:
(Name): |
button6 |
Text: |
Отмена. |
ToolTip на Hint: |
Возвращает фон формы по умолчанию |
Кнопка Изменить шрифт формы:
(Name): |
button8 |
Text: |
Изменить шрифт формы |
Кнопка Отмена:
(Name): |
button7 |
Text: |
Отмена |
ToolTip на Hint: |
Возвращает шрифт формы по умолчанию |
Список с выбором флажками CheckedListBox5:
(Name): |
checkedListBox1 |
ПРИМЕЧАНИЕ № 5: Для этого элемента, как и для ComboBox и ListBox можно изначально задавать «коллекцию» уже готовых элементов. Для этого в свойствах элемента ищем поле Items и добавляем новые элементы через нажатие кнопки (…). Разделителем элементов будет перевод строки в окне добавления элементов.
NumericUpDown:
(Name): |
NumericAplha |
Maximum: |
100 |
^ Максимальное число.
Mininum: |
1 |
^ Минимальное число.
Increment: |
1 |
^ Шаг.
Кнопка Выбор директории:
(Name): |
button9 |
Text: |
Выбор директории |
Текстовое поле редактирования TextBox:
(Name): |
textBox1 |
Индикатор выполнения ProgressBar:
(Name): |
progressBar1 |
Добавим ещё один таймер, который активируем сразу же при запуска приложения:
Timer:
(Name): |
TimerOneMinute |
Enabled: |
True |
^ Запускаем таймер при инициализации приложения.
Добавим диалоговые окна с панели элементов (перетаскиванием на форму):
ColorDialog:
(Name): |
ColorSelect |
FontDialog:
(Name): |
FontSelect |
FolderBrowserDialog:
(Name): |
SelectBrowser |
Теперь пропишем все необходимые события (в том порядке, в котором задавали свойства элементов управления):
Событие Click кнопки Изменить фон формы:
private void button5_Click(object sender, EventArgs e)
{
ColorSelect.ShowDialog(); // Показываем окно выбора цвета (Windows)
this.BackColor = ColorSelect.Color; // Устанавливаем в качестве текущего для фона формы
StatusLabel.Text = "Выбан цвет: " + ColorSelect.Color; // Выводит текст в строку состояния с названием цвета (если определено) или его RGB-представлением
}
Событие Click кнопки Отмена:
private void button6_Click(object sender, EventArgs e)
{
this.BackColor = Color.Empty; // Возвращаем первоначальный фон
}
Событие Click кнопки Изменить шрифт формы:
private void button8_Click(object sender, EventArgs e)
{
try
{
FontSelect.ShowDialog();
this.Font = FontSelect.Font;
StatusLabel.Text = "Выбран шрифт: " + FontSelect.Font.ToString();
}
catch
{
// Ловим ошибку: шрифт не TrueType
}
}
Событие Click кнопки Отмена:
private void button7_Click(object sender, EventArgs e)
{
this.Font = DefaultFont;
StatusLabel.Text = "Выбран первоначальный шрифт: " + DefaultFont.Name;
}
Событие SelectedIndexCahged списка с выбором флажками:
private void checkedListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
GraphicsPath G = new GraphicsPath(); // Создаём новый графический элемент
Rectangle Rect = new Rectangle(0, 0, this.Width, this.Height); // Создаём прямоугольник
if (checkedListBox1.CheckedItems.Contains("Непрозрачность окна в %") == true) // Если элемент выделен
{
this.Opacity = Convert.ToDouble(NumericAplha.Value) / 100; // Прозрачонть: значение NumericAplha / 100 (0 - полна прозрачность, 1 - полная непрозрачность)
}
if (checkedListBox1.CheckedItems.Contains("Овальное окно") == true)
{
G.AddEllipse(0, 0, this.Width, this.Height); // Добавляем эллипс покрывающий всю форму в графический элемент
this.Region = new System.Drawing.Region(G); // Создаём объект нового региона и меняем регион формы на эллепис
}
else
{
G.AddRectangle(Rect); // Добавляем прямоугольник
this.Region = new System.Drawing.Region(G); // Выбираем прямоугольник
}
}
Событие Click кнопки Выбор директории:
private void button9_Click(object sender, EventArgs e)
{
SelectBrowser.ShowDialog();
textBox1.Text = SelectBrowser.SelectedPath; // Заносим значение пути в textBox1
}
Событие Tick таймера:
private void TimerOneMinute_Tick(object sender, EventArgs e)
{
Byte Seconds = Convert.ToByte(DateTime.Now.Second);
progressBar1.Value = Seconds;
}
Изменим код метода LWP05Main() файла LWP05Main.cs:
public LWP05Main()
{
InitializeComponent();
/* Инициализируем массив элементов для checkedListBox1 */
String[] CheckItems = { "Непрозрачность окна в %", "Овальное окно" };
checkedListBox1.Items.AddRange(CheckItems);
/* Устанавливаем режим выбора элемента с двойного нажатия на одинарный */
checkedListBox1.CheckOnClick = true;
NumericAplha.Value = 100; // Начальное значение
progressBar1.Maximum = 60; // Граница индикаторы выполнения
}
Добавим в этом же файле два пространства имён:
using System.Drawing.Drawing2D; // Объявляем пространство имён для рисования 2D-графики
using System.IO;
Компилируем, проверяем работоспособность:
Рис. 5. 2. Окончательная работа блока стандартных диалоговых окон (другой цвет формы, результат выбора шрифта для формы и директории)
Рис. 5. 3. Окончательная работа блока стандартных диалоговых окон
(25% прозрачности на фоне рабочего стола, овальность и диалог выбора шрифта)
Единственное о чём мы забыли. Для того чтобы изменить прозрачность на новое значение, нужно снять галочку и снова установить после выбора нового значения. Исправим это событием ValueChanged элемента управления NumericAlpha:
private void NumericAplha_ValueChanged(object sender, EventArgs e)
{
if (checkedListBox1.CheckedItems.Contains("Непрозрачность окна в %") == true) // Если элемент выделен
{
this.Opacity = Convert.ToDouble(NumericAplha.Value) / 100; // Прозрачность: значение NumericAplha / 100 (0 - полна прозрачность, 1 - полная непрозрачность)
}
}