Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сучасні технології програмув.(C#)_5-6.docx
Скачиваний:
22
Добавлен:
05.03.2016
Размер:
63.54 Кб
Скачать

Некоторые свойства кнопки

public virtual Image BackgroundImage {get; set;} - фоновая картинка для кнопки.

public bool TabStop {get; set;} - участие в переходах по клавише Tab между элементами управления.

Некоторые свойства надписи

public virtual bool AutoSize {get; set;} - способность надписи подгонять свой размер под содержимое (например, под длину и высоту отображаемого текста).

public virtual BorderStyle BorderStyle {get; set;} - стиль рамки для надписи. Варианты: Fixed3D - трехмерная рамка; FixedSingle - рамка из одной линии; None - отсутствие рамки.

Более подробную информацию можно получить, изучив практические

примеры, или заглянув в MSDN.

Практический пример. Отображение координат мыши при ее перемещении.

Данная программа показывает механизм использования обработчиков события передвижения мыши для формы и ее дочерних объектов.

<исходники> ..\Program\Applications\MouseWithStaticAndButton

using System;

using System.Drawing;

using System.Windows.Forms;

namespace CSharpApplication.MouseAndLabelAndButton

{

// Класс, содержащий форму, надпись и кнопку

class MouseCoords : Form

{

// Элемент управления Надпись

Label lCoords = new Label();

// Элемент управления Кнопка

Button bCoords = new Button();

static void Main()

{

// Запуск приложения

Application.Run(new MouseCoords());

}

// Конструктор

MouseCoords()

{

// Родитель

lCoords.Parent = this;

// Подгонка размеров под отображаемый текст

lCoords.AutoSize = true;

// Тонкая рамка

lCoords.BorderStyle = BorderStyle.FixedSingle;

// Обработчик движения мыши над поверхностью надписи

// для случая попадания мыши на клиентскую область надписи

lCoords.MouseMove += new MouseEventHandler(lCoords_MouseMove);

// Родитель

bCoords.Parent = this;

// Плоская кнопка

bCoords.FlatStyle = FlatStyle.Flat;

// Ширина

bCoords.Width = 100;

// Обработчик движения мыши над поверхностью кнопки

// для случая попадания мыши на клиентскую область кнопки

bCoords.MouseMove += new MouseEventHandler(bCoords_MouseMove);

// Заголовок формы

Text = "Бегаем за мышкой...";

// Форма отбражается в развернутом виде

WindowState = FormWindowState.Maximized;

}

// Обработчик передвижения мыши над поверхностью формы

protected override void OnMouseMove(MouseEventArgs ea)

{

// Вызов базового обработчика

base.OnMouseMove(ea);

// Определяем новое месторасположение надписи на форме

lCoords.Location = new Point(ea.X + 1, ea.Y);

// Отображаем на надписи клиентские координаты мыши

lCoords.Text = String.Format("X = {0,-5}Y = {1}", ea.X, ea.Y);

// Определяем новое месторасположение кнопки на форме

bCoords.Location = new Point(ea.X + 1, ea.Y - bCoords.Height);

// Отображаем на кнопке клиентские координаты мыши

bCoords.Text = String.Format("X = {0,-5}Y = {1}", ea.X, ea.Y);

}

// Обработчик передвижения мыши над поверхностью надписи

private void lCoords_MouseMove(object sender, MouseEventArgs ea)

{

// Вычисление месторасположения курсора мыши на форме

// с помощью преобразования экранных координат в

// координаты формы

Point pt = PointToClient(Control.MousePosition);

pt.X += 1;

// Перемещаем надпись

lCoords.Location = pt;

// Отображаем на надписи клиентские координаты мыши

lCoords.Text = String.Format("X = {0,-5}Y = {1}",

pt.X, pt.Y);

}

// Обработчик передвижения мыши над поверхностью кнопки

private void bCoords_MouseMove(object sender, MouseEventArgs e)

{

// Вычисление месторасположения курсора мыши на форме

// с помощью преобразования экранных координат в

// координаты формы

Point pt = PointToClient(Control.MousePosition);

pt.X += 1;

pt.Y -= bCoords.Height;

// Перемещаем кнопку

bCoords.Location = pt;

// Отображаем на кнопке клиентские координаты мыши

bCoords.Text = String.Format("X = {0,-5}Y = {1}",

pt.X, pt.Y);

}

}

}

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