Основные компоненты библиотеки Windows Forms
Особенности использования набора интерфейсных компонентов, входящих в состав Windows Forms 2.0. Характеристика компонентов для отображения данных и управления расположением элементов. Разработка приложения, отображающего движущийся вдоль края окна текст.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лабораторная работа |
Язык | русский |
Дата добавления | 28.06.2017 |
Размер файла | 117,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
ОТЧЕТ
по Лабораторной Работе
на тему
«Основные компоненты библиотеки Windows.Forms»
по дисциплине
«Процедурное Программирование»
ЗАДАНИЕ
Часть 1.
Создать приложение, отображающее движущийся вдоль края окна текст. Текст должен двигаться плавно, не выходя за границы отображаемой области окна (за рамку), и не отрываясь от края окна при изменении его размеров. Кроме того, текст должен плавно менять цвет в соответствии с вариантом. Двигаться текст должен по часовой стрелке (От левого верхнего угла к правому верхнему, от правого верхнего к правому нижнему, от правого нижнего к левому нижнему, от левого нижнего к левому верхнему).
windows forms приложение текст
Часть 2
Вариант 1
Кнопка, с подписью «Выключить», при нажатии, отключающая движение метки из Части 1. Кнопка, с подписью «Выключить», при нажатии, отключающая движение метки из Части 1. После первого нажатия меняет подпись на «Включить». При повторном нажатии включает движение метки из части 1 и меняет подпись обратно на «Выключить».
Группировочная панель, на ней:
Поле ввода, без введенного текста. Справа от нее кнопка с подписью «Добавить». Еще правее - кнопка «Удалить». Ниже список выбора. Ниже списка - метка. При нажатии кнопки «Добавить» очистить поле ввода и добавить введенный текст в конец вариантов в списке выбора. При выборе элементов из этого списка, в метке отобразить индекс выбранного элемента, начиная с 1, с подписью, например: «Выбранный элемент: 1, Текст, введенный пользователем», или «Выбранный элемент: Нет». При отсутствии выбранного элемента, отобразить это состояние в метке. При нажатии кнопки «Удалить», удалить выбранный элемент из списка выбора, если таковой элемент есть. Иначе -- выдать соответствующее сообщение.
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
Для создания профессиональных интерфейсных элементов Windows-приложений, соответствующих последним требованиям эргономики и схожих с интерфейсными элементами приложений компании Microsoft, предлагается использовать новый набор интерфейсных компонентов, входящих в состав Windows Forms 2.0. К этим компонентам относятся:
* MenuStrip -- компонент для создания основных меню приложений, который пришел на смену компоненту MainMenu;
* ContextMenuStrip -- компонент для создания контекстных меню приложений, сменивший компонент ContextMenu;
* StatusStrip -- компонент для создания статусных панелей, который пришел на смену компоненту StatusBar;
* ToolStrip -- компонент для создания панелей инструментов, сменивший компонент ToolBar.
Следует отметить, что компоненты MainMenu, ContextMenu, StatusBar и ToolBar по-прежнему поддерживаются (по умолчанию они не отображаются в панели ToolBar Visual Studio 2005) и могут использоваться в Windows Forms 2.0, но для создания более профессиональных интерфейсов рекомендуется применять новые компоненты, которые будут рассмотрены далее.
Поскольку компоненты MenuStrip и StatusStrip являются наследниками компонента ToolStrip, а компонент ContextMenuStrip происходит от наследника компонента ToolStrip -- ToolStripDropDownMenu, сначала мы рассмотрим компонент ToolStrip.
Компоненты для отображения данных
Компонент DataGridView
Для отображения данных в табличном формате служит компонент DataGridView, который призван заменить функциональность компонента DataGrid из предыдущих версий Windows Forms. Этот компонент может использоваться для представления данных любого объема, доступных либо только для чтения, либо для чтения и редактирования. Данные могут как находиться во внешнем источнике (который задается свойствами DataSource и DataMember), так и добавляться программным образом непосредственно в компонент. При работе с большими объемами данных можно применять свойство VirtualMode для отображения подмножества данных. Использование этого свойства требует реализации операций кэширования данных, которые связываются с компонентом через обработчик события CellValueNeeded.
Компонент DataConnector
Новый компонент DataConnector выполняет роль связующего звена между интерфейсным элементом и источником данных. Он автоматически управляет такими функциями, как поддержка текущего состояния, события в источниках данных и изменения источников данных. Помимо обеспечения связи с интерфейсными элементами DataConnector может выполнять функции строго типизированного источника данных.
Компонент DataConnector предназначен для совместного использования с такими компонентами, как DataNavigator и DataGridView.
Компонент DataNavigator
Данный компонент представляет собой стандартную панель для навигации по данным и манипуляции ими. В большинстве сценариев компонент DataNavigator используется совместно с компонентом DataConnector (через свойство DataConnector) для перемещения по записям и выполнения манипуляций над ними.
Предоставляемый по умолчанию интерфейс компонента DataNavigator состоит из серии кнопок, тестовых элементов и надписей, применяемых для выполнения наиболее часто используемых операций с данными: навигации, добавления, удаления, а также для отображения статусной информации.
Компоненты для управления расположением элементов
В Windows Forms 2.0 появился ряд расширений, связанных с управлением расположением элементов на форме. К ним относятся некоторые новые свойства компонентов (Margin, Padding, Autosize), а также три новых компонента -- SplitContainer, FlowLayoutPanel и TableLayoutPanel, которые мы рассмотрим ниже.
Компонент SplitContainer
Данный компонент представляет собой перемещаемую полосу, которая разделяет область контейнера на две панели, размер которых может изменяться. В каждой панели может быть размещен любой компонент Windows Forms, включая и другие компоненты SplitContainer.
Компонент поддерживает вертикальное и горизонтальное разделение панелей и различные настройки, позволяющие управлять шагом перемещения разделительной полосы, минимальными размерами панелей, способами их заполнения, типом рамки вокруг панелей и т.п.
Компонент FlowLayoutPanel
Данный компонент представляет собой панель, которая динамически отображает свое содержимое в горизонтальном (FlowDirection = LeftToRight) или вертикальном виде (FlowDirection = TopDown). В панели компонента FlowLayoutPanel могут располагаться любые компоненты Windows Forms, включая и компоненты FlowLayoutPanel.
Компонент TableLayoutPanel
Данный компонент представляет собой панель, которая динамически распределяет свое содержимое, размещенное в ячейках таблицы. В такой таблице может находиться любой компонент Windows Forms, включая и компоненты TableLayoutPanel. В зависимости от значений свойств RowCount, ColumnCount и GrowStyle в компонент могут быть добавлены новые элементы, что приведет к динамическому изменению его размера. Помимо этого можно управлять вертикальным или горизонтальным расширением компонента. Точные настройки рядов и колонок осуществляются с помощью свойств RowStyles и ColumnStyles.
АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ
Часть 1
1. Разместить на форме компонент Label (Метка), и поместить его в точку с координатами (0; 0) (левый верхний угол).
2. Разместить компонент Timer (Таймер)
3. Задать поведение Label в соответствии с заданием
4. Осуществить переключение направлений Labelпри достижении определенных условий
5. Задать изменение цвета Labelв зависимости от направления движения
Часть 2
1. Создать еще одну форму и сделать ее видимой
2. Связать вторую форму с первой
3. Добавить кнопку, отключающую движение метки из Части 1. После первого нажатия меняет подпись на «Включить». При повторном нажатии включает движение метки из части 1 и меняет подпись обратно на «Выключить»
4. Добавить поле ввода, без введенного текста. Справа от нее добавить кнопку с подписью «Добавить». Еще правее - кнопку «Удалить». Ниже - список выбора. Ниже списка - метку
5. Кнопке «Добавить» задать функцию добавления введенного текста в конец вариантов в списке выбора и очищения поле ввода
6. При выборе элементов из этого списка, в метке отобразить индекс выбранного элемента, начиная с 1
7. При нажатии кнопки «Удалить», удалить выбранный элемент из списка выбора, если таковой элемент есть. Иначе -- выдать соответствующее сообщение.
ТЕСТИРОВАНИЕ
1. Движение метки вдоль края окна
2. Добавление чисел
Результат
3. Удаление чисел
Результат
ЗАКЛЮЧЕНИЕ
Практическая проверка показала, что программа может добавлять введенный текст в список выбора, при этом стирая его из поле ввода и удалять выбранный элемент из списка выбора. Также она отображает индекс выбранного элемента в метке и текст, введенный пользователем.
ИСХОДНЫЙ КОД
Часть 1
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int direction = 0;
private void timer1_Tick(object sender, EventArgs e)
{
switch (direction)
{
case 0:
label1.Left += 10;
break;
case 1:
label1.Top += 10;
break;
case 2:
label1.Left -= 10;
break;
case 3:
label1.Top -= 10;
break;
}
if (label1.Left > ClientRectangle.Width - label1.Width)
{
direction = 1;
label1.Left = ClientRectangle.Width - label1.Width;
}
if (label1.Top > ClientRectangle.Height - label1.Height)
{
direction = 2;
label1.Top = ClientRectangle.Height - label1.Height;
}
if (label1.Left < 0)
{
direction = 3;
label1.Left = 0;
}
if (label1.Top < 0)
{
direction = 0;
label1.Top = 0;
}
switch (direction)
{
case 0:
label1.ForeColor = Color.FromArgb(label1.Left * 255 / (ClientRectangle.Width - label1.Width), 0, 0);
break;
case 1:
label1.ForeColor = Color.FromArgb(255, label1.Top * 255 / (ClientRectangle.Height - label1.Height), 0);
break;
case 2:
label1.ForeColor = Color.FromArgb(255, 255, (-label1.Left * 255 / (ClientRectangle.Width - label1.Width) +255));
break;
case 3:
label1.ForeColor = Color.FromArgb(label1.Top * 255 / (ClientRectangle.Height - label1.Height), label1.Top * 255 / (ClientRectangle.Height - label1.Height), label1.Top * 255 / (ClientRectangle.Height - label1.Height));
break;
}
}
private void Form1_Shown(object sender, EventArgs e)
{
Form2 newForm = new Form2();
newForm.Show();
newForm.form1 = this;
}
}
}
Часть 2
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication3
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
public Form1 form1;
private void button1_Click(object sender, EventArgs e)
{
if (button1.Text == "Выключить")
{
form1.timer1.Stop();
button1.Text = "Включить";
}
else
{
form1.timer1.Start();
button1.Text = "Выключить";
}
}
private void button2_Click(object sender, EventArgs e)
{
listBox1.Items.Add(textBox1.Text);
textBox1.Clear();
}
private void button3_Click(object sender, EventArgs e)
{
if (listBox1.SelectedIndex > -1)
{
listBox1.Items.RemoveAt(listBox1.SelectedIndex);
}
else
{
MessageBox.Show("Элемент для удаления не выбран");
}
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (listBox1.SelectedIndex > -1)
{
label1.Text = "Выбранныйэлемент: " + (listBox1.SelectedIndex+1).ToString() + ", " + listBox1.SelectedItem.ToString();
}
else
{
label1.Text = "Выбранный элемент: Нет";
}
}
}
}
Размещено на Allbest.ru
...Подобные документы
Описание платформы NET Framework. База данных Microsoft Access. Разработка Windows приложения. Модель программирования Windows Forms. Функциональное назначение программы. Входные и выходные данные. Требования к техническому и программному обеспечению.
курсовая работа [2,2 M], добавлен 15.03.2015Сведения об окружности, ее радиус и площадь. Разработка программы для вычисления площади круга и длины окружности по заданному радиусу с использованием Windows.Forms-приложений. Пошаговая инструкция; описание главного окна, код, примеры работы программы.
курсовая работа [818,6 K], добавлен 14.09.2014Общие положения по программированию в интерфейсе Windows Forms. Среда разработки MicrosoftVisualStudio, ее главные особенности и характеристика. Создание эмулятора пункта меню Microsoft Office Word "Формат-Шрифт" с использованием интерфейса Windows Forms.
курсовая работа [3,4 M], добавлен 26.01.2013Разработка программного приложения Windows Forms для работы с базой данных на языке высокого уровня в автономном режиме с использованием ADO.NET. Создание консольных приложений (варианты метода Main), выполнение запросов к SQL серверу и листинг программ.
курсовая работа [2,4 M], добавлен 16.06.2014Программирование для Windows. Возможности нового интерфейса. Окна и их управляющие компоненты. DOS и Windows: разные подходы к программированию. Особенности работы с базами данных. Структура программ в CA-Visual Objects. Генерация и обработка событий.
курсовая работа [1,3 M], добавлен 02.03.2010Все окна в ОС Windows имеют стандартную структуру. Выполнение лабораторной работы предусматривает приобретение навыков использования мышки как основного способа управления работой компьютера в среде Windows.
лабораторная работа [191,1 K], добавлен 22.05.2007Основы организации приложения в Windows. Посылка и передача сообщений для окон. Создание и отображение главного окна приложения. Деактивация приложения, его фазы. Сообщения клавиатуры и функции для работы с ней. Определение состояния отдельных клавиш.
лекция [65,7 K], добавлен 24.06.2009Реализация информационно-справочной системы "Отдел кадров" на языке программирования, с использованием технологии сериализации объектов. Средства конструктора баз данных Windows Forms. Обработка информации и соответствующие организационные ресурсы.
отчет по практике [95,7 K], добавлен 09.08.2015История Windows. Особенности Windows XP. Файловая система и структура. Основные принципы работы с системой. Начало и завершение работы, главное меню. Запуск и завершение программ. Окна и диалоги, панель задач. Установка Windows XP.
курсовая работа [344,0 K], добавлен 24.04.2007Разработка проекта с помощью встроенных средств языка C#, на базе сетевого стека и сетевых функций Windows. Специфика создания удобного интерфейса программы с использованием Windows Forms, которая способна пересылать данные на удалённый компьютер.
курсовая работа [162,6 K], добавлен 16.06.2013Проектирование, кодирование и отладка службы Windows: "Контроль приложений", осуществляющей контроль набора приложений и управление ими; разработка приложения, управляющего этой службой. Взаимодействие службы и приложения; тестирование и сопровождение.
курсовая работа [1,1 M], добавлен 22.05.2013Характеристика операционной системы. История развития Windows. Сравнительная характеристика версий Windows. Элементы и инструменты Windows XP. Прикладные программы в Windows XP. Работа настольных и портативных компьютеров под управлением Windows.
доклад [19,1 K], добавлен 16.10.2011Появление первых версий Windows, их графические интерфейсы и расширения для DOS. Семейства Windows 3.x и Windows 9.x, их особенности и основные функции. Эволюция технологии Plug and Play. Наиболее существенные улучшения в современных версиях Windows.
реферат [162,3 K], добавлен 13.06.2014Создание приложения Windows Forms в среде Microsoft Visual Studio 2008. Разработка программы "Курсовой" для организации работы по учёту курсовых работ в учебных заведениях с возможностью добавления, удаления, редактирования и поиска информации.
курсовая работа [2,2 M], добавлен 28.06.2011Проектирование службы Windows и приложения для управления этой службой, которое позволит контролировать данные приложения - запускать и завершать определенные процессы по желанию пользователя через определенные промежутки времени. Инструкция по установке.
курсовая работа [2,8 M], добавлен 05.01.2013Программирование в операционной системе Windows. Работа с потоками и процессами ОС. Методы их создания. Основы вызова API-функций. Пример создания диалогового окна без использования файла ресурсов. Разработка программы с помощью 32-битного ассемблера.
курсовая работа [107,6 K], добавлен 18.05.2014Разработка на языке C++ службы, осуществляющей контроль набора выполняющихся приложений. Проектирование, кодирование, отладка, тестирование и сопровождение службы Windows. Взаимодействие службы и приложения. Интерактивность разрабатываемой службы.
курсовая работа [964,9 K], добавлен 01.06.2013Windows XP - универсальная операционная система семейства Windows NT, ее модификации. Средства, включенные в состав ОС как стандартные компоненты. Системные требования ОС к аппаратным ресурсам. Графический интерфейс пользователя и командной строки.
контрольная работа [22,2 K], добавлен 19.12.2011- Обзор Windows Vista. Разработка консольного приложения, реализующего кольцевую очередь(20 элементов)
Обзор и комплексный анализ операционной системы Windows Vista, оценка ее преимуществ и недостатков. Разработка программы, которая реализует алгоритм очереди на 20 элементов. Построение блок-схемы и листинг алгоритма, контрольный пример его работы.
курсовая работа [4,2 M], добавлен 20.11.2013 Программа операционной системы. Перемещение и копирование объектов. Окна Windows, операционное меню, настройка свойств папки, вызов справки Windows. Работа с дисками, папками и файлами, с приложениями и документами. Стандартные программы Windows.
контрольная работа [21,9 K], добавлен 29.01.2011