Программирование >>  Автоматически обновляемые приложения 

1 ... 55 56 57 [ 58 ] 59 60 61 ... 170


Отображение лишь части текста в виде ссылки

Не всегда требуется использовать весь текст в виде ссылки. Предположим, вы используете текст следующего вида: На нашем сайте вы найдете дополнительную информацию . Ссылкой в данном тексте является только словосочетание нашем сайте . Для реализации этой задачи используется свойство LinkArea, которое определяет символы текста на элементе LinkLabel в виде ссылки. Свойство start структуры LinkArea задает индекс символа строки из свойства Text, который будет соответствовать началу ссылки (нумерация начинается с 0). Свойство Length структуры LinkArea задает число символов в ссылке, включая начальный. Таким образом, вам нужно разместить на форме элемент LinkLabel, присвоить свойству Text значение На нашем сайте вы найдете дополнительную информацию и установить для свойства LinkArea значение (3, 11). Это можно сделать на этапе разработки в дизайнере форм или программным способом, приведенным в листинге 6.39.

Листинг 6.39. Установка свойств для LinkLabel

InkMySite.Text = На нашем сайте вы найдете дополнительную информацию InkMySite.LinkArea = new LinkArea(3, 11);

Осталось только написать обработчик события Linkciicked для обработки нажатия на ссылку (листинг 6.40).

[ Листинг 6.40. Обработчик события Linkciicked

private void lnk]yiySite LinkClicked(object sender,

LinkLabelLinkClickedEventArgs e)

System.Diagnostics.Process.Start( http: rusproject.narod.ru/ );

Кстати, в этом коде присутствует еще одна хитрость. В самом элементе LinkLabel ВЫ не найдете упоминания на ссылку http: rusproject.narod.ru/.

LinkColor, Links, LinkVisited, VisitedLinkColor. НадО ПОМНИТЬ, ЧТО элемент управления LinkLabel не создает ссылку автоматически и не изменяет цвет ссылки после ее посещения (по умолчанию), вы сами должны позаботиться об этой функциональности.



Несколько ссылок в одном LinkLabel

Рассмотрим еще один момент. Вы можете поместить на форму элемент LinkLabel, который будет содержать несколько ссылок, а также написать один общий обработчик события для всех ссылок. Итак, поместите на форму новый элемент LinkLabel, который будет содержать строку из названий популярных поисковых систем Yandex, Google, Rambler и GoGo. Обратите внимание, что у LinkLabel имеется свойство LinkBehavior, которое позволяет управлять внешним видом ссылок. Например, мы хотим, чтобы подчеркивание появлялось при наведении на ссылку мышкой- тогда используем свойство LinkBehavior .HoverUnderiine. Формируем текст, состоящий *из названий поисковых порталов, и затем добавляем ссылки на эти службы в коллекцию Links. Осталось только написать общий обработчик события (листинг 6.41), и пример готов.

; Листинг 6.41. Управление ссылками в LinkLabel

private void Forml Load(object sender, EventArgs e) {

InkSearchUrl.Text = Yandex Google Rambler GoGo ; InkSearchUrl.LinkBehavior = LinkBehavior.HoverUnderiine; InkSearchUrl.Links.Add(0, 6, www.yandex.ru ); InkSearchUrl.Links.Add(7, 6, www.google.ru ); InkSearchUrl.Links.Add(14, 7, www.rambler.ru ); InkSearchUrl.Links.Add(22, 4, www.gogo.ru ); InkSearchUrl.LinkClicked +=

new LinkLabelLinkClickedEventHandler(lnkCommon LinkClicked) ,

private void lnkCommon LinkClicked(object sender,

LinkLabelLinkClickedEventArgs e)

LinkLabel Ink = new LinkLabel(); Ink = (LinkLabel)sender;

Ink.Links[Ink.Links.IndexOf(e.Link)].Visited = true;

System.Diagnostics.Process.Start(e.Link.LinkData.ToString() ) ;

но мы используем этот адрес в обработчике события LinkClicked через метод start класса system. Diagnostics . Process. ЭтоТ метоД запуСТИТ на компьютере пользователя браузер по умолчанию.



Notifyicon -

значок в области уведомлений

в свое время вопрос, как добавить значок к часикам, был самым популярным на форумах, на которых обсуждались языки программирования. Для реализации этой задачи требовалось большое количество кода с привлечением функций Windows API. Существовали даже платные библиотеки, которые позволяли программисту решить эту проблему. Но с выходом .NET Framework это стало тривиальной задачей. Проведем небольшой ликбез для начинающих программистов. Вы замечали, что многие программы- брандмауэры, антивирусы и интернет-пейджеры - работают в фоновом режиме, не занимая места на панели задач. Рассмотрим пример, в котором наша программа будет сворачиваться в область уведомлений, появляться на экране при двойном щелчке по значку, а таюке создадим контекстное меню для значка. Запустите новый проект, возьмите на панели инструментов элемент управления Notifyicon и расположите его на форме. Элемент под именем notifyiconi появится в специальном контейнере под формой, так как не имеет визуального представления на форме. Установите в свойстве Text любой текст, который будет появляться при наведении указателя мыши на значок. Для свойства icon установите необходимый значок, который будет виден в области уведомлений. Учтите, что в Express-версиях Visual Studio нельзя создавать собственные значки, но вы можете найти в Интернете программы для создания значков (в том числе и бесплатные). Перейдем к кодированию. Добавьте обработчик события для события формы Resize, который будет прятать приложение при сворачивании (листинг 6.42). В этом случае ваша программа не будет видна на панели задач.

1 Диотинг 642. Прячем приложение с панели задач

iii -nii iiivi.tiiiw iiKSijjj.iJiv vitrajKwiK iiKi;;ftii ti;i -i.iwuii ни m ,:i<iuu /.a ы\ ...v у.и на .v m\ .v r.h .;tiMK. .ii.i -tin i,u mm

private void ForTnl Resize (object sender. System.EventArgs e) {

if (FormWindowState.Minimized = WindowState) Hide ();

7 Зак 262

Примечание

Пример с LinkLabel находится В папке LinkLabelDemo на прилагаемом диске.



1 ... 55 56 57 [ 58 ] 59 60 61 ... 170

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика