Читайте также:
|
|
Пространство имён System.Windows.Forms содержит классы, используя которые можно размещать на окне различные объекты. Каждый класс имеет собственный конструктор, создающий объект, а также ряд свойств, методов и событий. Свойства позволяют задавать характеристики объекта. Методы обеспечивают манипуляцию объектом. С помощью событий программист может организовать наблюдение за состоянием объекта. Используя механизм «источник-наблюдатель», программист может обеспечить выполнение различных алгоритмов в зависимости от действий пользователя.
В среде Visual Studio заготовки объектов этих классов представлены на панели инструментов (за исключением Messagebox). При перенесении заготовки на окно создается объект с конкретным именем, состоящим из имени класса и порядкового номера. Все объекты, созданные в окне, реагируют на событие Click, но с каждым объектом связаны и собственные события.
MessageBox
Класс обеспечивает создание объекта «окно сообщения». Статический метод Show обеспечивает отображение модального окна на экране. Возможно множество вариантов отображения окна: от простого сообщения до сложного текста с возможностью выбора.
Label
Класс объектов «надпись». Кроме текста он может содержать и рисунок. Свойство Text позволяет задать надпись на объекте при его отображении. Для задания рисунка используется свойство Image. Положение надписи и рисунка определяется свойствами TextAlign и ImageAlign. Свойство AutoSize, установленное как false, запрещает автоматическое изменение размера поля в зависимости от набранного текста.
LinkLabel
Класс объектов «надпись со ссылкой». Компонент LinkLabel обеспечивает связь надписи с одной или несколькими гиперссылками. В свойство Text помещается текст, часть которого или весь текст целиком будет играть роль гиперссылки. Свойство LinkArea позволяет выбрать фрагмент текста или весь текст и определить его как имя ссылки
Процесс использования компонента несколько усложнен из-за того, что не все можно сделать на этапе конструирования. Имеющееся свойство Links доступно только динамически, т. е. гиперссылки надо описывать в процессе исполнения программы. Рассмотрим пример. Создаем пустую форму и размещаем компонент LinkLabel. В свойствах устанавливаем AutoSize значение false. Свойство Text определяем так: Бард и Ансамбль. При таком определении весь текст считается ссылкой (рис. П-1).
Рис. П-1. Надпись-ссылка
В свойстве LinkVisited установим значение true, а текст разделим на две ссылки: «Бард» и «Ансамбль». Сделать это визуально нельзя, можно определить только первую ссылку. Для этого откроем
свойство LinkArea и установим значение Start в 0, а Length сделаем равным 4. Тем самым мы укажем, что первое слово «Бард» является ссылкой. Запустим программу: выделено только первое слово (рис. П-2).
Рис. П-2. Одна ссылка
Далее придется поработать с программным кодом. Откроем программный текст формы Forml и добавим в список директив следующую директиву:
using System.Diagnostics;
Это позволит нам запускать процесс прямо из приложения. Теперь откроем конструктор Form1. После оператора инициализации компонент добавим URL для обеих ссылок в список свойства Links объекта linkLabel1:
public Form1()
{ InitializeComponent();
linkLabel1.Links[0].LinkData = "WWW.vpak.ru";
linkLabel1.Links.Add(7, 7, "www.via-ariel.ru");
}
Вновь запустим программу: ссылок уже две (рис. П-3).
Рис. П-3. Две ссылки
Двойным щелчком мышки по объекту откроем Form1.cs и в пустой обработчик запишем следующий текст:
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{ string s = (string)e.Link.LinkData; // 1
Process.Start(s); // 2
}
Оператор 1 выбирает из параметра e значение URL - оно передается в обработчик в соответствии с выбранной ссылкой. Выбранное значение в операторе 2 используется для запуска процесса.
Button
Класс объектов «кнопка». Используется для отображения одноименного объекта, предназначенного для имитации нажатия пользователем. Свойство Text позволяет дать кнопке имя. Кнопка имеет свойство Image, позволяющее отображать на объекте картину. Связанное с кнопкой основное событие Click позволяет выполнить алгоритм, соответствующий нажатию.
Textbox
Класс объектов «поле ввода текста». Используется для ввода данных в виде одной или нескольких строк текста. Если предполагается использовать многострочный режим, то свойство Multiline должно быть установлено как true. Для доступа к одной строке используется свойство Text, для работы со многими строками - свойство Lines, организованное как строковый массив. В последнем случае доступ к отдельным строкам по индексу. Рассмотрим простой пример (рис. П-4).
Рис. П-4. Объект TextBox
Имеем окно и два обработчика для кнопок:
private void button1_Click(object sender, EventArgs e)
{ textBox1.Clear(); }
private void button2_Click(object sender, EventArgs e)
{ textBox1.Copy();
MessageBox.Show(textBox1.Text, "Выбранный текст");
textBox1.Clear(); textBox1.Paste();
}
Набираем пять строк текста, выделяем фрагмент (рис. П-5). При нажатии на кнопку «ВЫБРАТЬ» текст отображается целиком, в буфер обмена запишется только выделенный фрагмент, объект очистится и из буфера в поле ввода вернется только что сохраненный там текст.
Рис. П-5. Выделение двух строк
Дата добавления: 2015-08-09; просмотров: 137 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Задание для самостоятельного выполнения | | | ComboBox |