|
Программирование >> Автоматически обновляемые приложения
Отображение лишь части текста в виде ссылки Не всегда требуется использовать весь текст в виде ссылки. Предположим, вы используете текст следующего вида: На нашем сайте вы найдете дополнительную информацию . Ссылкой в данном тексте является только словосочетание нашем сайте . Для реализации этой задачи используется свойство 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 на прилагаемом диске.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |