Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otchet3.docx
Скачиваний:
5
Добавлен:
10.09.2019
Размер:
197.99 Кб
Скачать

Министерство общего и профессионального образования

Российской Федерации

Тверской государственный технический университет

Кафедра электронных вычислительных машин

Отчёт о лабораторной работе № 3

Компоненты.

Выполнил: студент группы

ВМКСС-1003

Зуев Д.В.

Принял: профессор кафедры ЭВМ

А.А. Веселов

г. Тверь

2 012

  1. Задание на лабораторную работу.

  1. Ознакомиться с разделом 1, в котором описывается основные понятие компонентах, их особенностях и способы их построения.

  2. На основе описания в разделе 2.1 создать первый простейший элемент управления, установить его на палитру, создать для него новую пиктограмму и протестировать его.

  3. На основе описания, приведенного в разделе 2.2 создать второй нестандартного элемента управления, включая установку его на палитру, создание для него новой пиктограммы и проверку его работоспособности в процессе тестирования.

  4. В соответствии программным текстом, приведенным в разделе 2.3 создать комбинированный элемент пользовательского интерфейса.

  5. Составить пояснительную записку к отчету о проделанной лабораторной работе.

  1. Описание работы программы

Программа Application1 содержит новую компоненту (Текст с градиентной заливкой). Application2 также содержит компоненту – часы. Application3 содержит компоненту которая содержит полосу прокрутки, числовое поле для установки градации серого 3х цветов (R, G, B).

  1. Алгоритм при изменении цвета компоненты в Application1

  1. Алгоритм при изменении времени Application2

  1. Алгоритм при изменении значения в Application3

  1. Исходные тексты компонент

Application1

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Drawing;

using System.Data;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Drawing.Drawing2D;

namespace WindowsFormsApplication1

{

public partial class UserControl1 : Label

{

private Color startColor = Color.LightGreen;

private Color endColor = Color.DarkBlue;

[Category("Gradient"), Description("Цвет начала заливки"),

DefaultValue(typeof(Color), "LightGreen")]

public Color StartColor

{

get { return startColor; }

set { startColor = value; OnChangeProperties(); }

}

[Category("Gradient"), Description("Цвет завершения заливки"),

DefaultValue(typeof(Color), "DarkBlue")]

public Color EndColor

{

get { return endColor; }

set { endColor = value; OnChangeProperties(); }

}

// Перерисовать себя при изменении свойств

private void OnChangeProperties()

{

Invalidate();

if (onGradientChange != null)

{ onGradientChange(this, new EventArgs()); }

}

protected override void OnPaint(PaintEventArgs pe)

{

base.OnPaint(pe); // Вызываем базовый метод OnPaint()

Color c1 = Color.FromArgb(100, startColor);

Color c2 = Color.FromArgb(100, endColor);

Brush b = new LinearGradientBrush(ClientRectangle, c1, c2, 10);

pe.Graphics.FillRectangle(b, ClientRectangle);

b.Dispose();

}

private event EventHandler onGradientChange;

[Category("Gradient"), Description("Вызывается при изменении свойств

заливки")]

public event EventHandler OnGradientChange

{

add { onGradientChange += value; }

remove { onGradientChange -= value; }

}

public UserControl1()

{

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]