Что такое label в c
Перейти к содержимому

Что такое label в c

  • автор:

Что такое label в c

Для отображения простого текста на форме, доступного только для чтения, служит элемент Label. Чтобы задать отображаемый текст метки, надо установить свойство Text элемента.

LinkLabel

Особый тип меток представляют элементы LinkLabel, которые предназначены для вывода ссылок, которые аналогичны ссылкам, размещенным на стандартных веб-станиц.

Также, как и с обычными ссылками на веб-страницах, мы можем по отношению к данному элементу определить три цвета:

  • Свойство ActiveLinkColor задает цвет ссылки при нажатии
  • Свойство LinkColor задает цвет ссылки до нажатия, по которой еще не было переходов
  • Свойство VisitedLinkColor задает цвет ссылки, по которой уже были переходы

Кроме цвета ссылки для данного элемента мы можем задать свойство LinkBehavior , которое управляет поведением ссылки. Это свойство принимает четыре возможных значения:

  • SystemDefault : для ссылки устанавливаются системные настройки
  • AlwaysUnderline : ссылка всегда подчеркивается
  • HoverUnderline : ссылка подчеркивается только при наведении на нее курсора мыши
  • NeverUnderline : ссылка никогда не подчеркивается

По умолчанию весь текст на данном элементе считается ссылкой. Однако с помощью свойства LinkArea мы можем изменить область ссылки. Например, мы не хотим включать в ссылку первые шесть символов. Для этого задаем подсвойство Start :

Настройка элемента LinkLabel в Windows Forms

Чтобы выполнить переход по ссылке по нажатию на нее, надо дополнительно написать код. Данный код должен обрабатывать событие LinkClicked , которое есть у элемента LinkLabel. Например, пусть у нас на форме есть элемент ссылки называется linkLabel1 и который содержит некоторую ссылку:

LinkLabel в Windows Forms

Чтобы перейти по ссылке, зададим обработчик LinkClicked:

public partial class Form1 : Form < public Form1() < InitializeComponent(); // задаем обработчик события linkLabel1.LinkClicked += linkLabel1_LinkClicked; >private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) < System.Diagnostics.Process.Start("http://metanit.com"); >>

Метод System.Diagnostics.Process.Start() откроет данную ссылку в веб-браузере, который установлен в системе браузером по умолчанию.

Что такое label в c

**HTML-элемент **представляет собой подпись к элементу пользовательского интерфейса.

Категории контента Общий поток, текстовый контент, интерактивный контент, элемент формы, ощутимый контент.
Допустимый контент Текстовый контент, но без вложенных элементов label . Недопустимы другие оборачиваемые в label элементы помимо целевого.
Пропуск тегов Нет, открывающий и закрывающий теги обязательны.
Допустимые родители Любой элемент, разрешающий текстовый контент.
Допустимые ARIA-роли Нет
DOM-интерфейс HTMLLabelElement

Атрибуты

ID labelable-элемента, который находится в том же документе, что и элемент label. Первый такой элемент в документе, ID которого совпадает со значением атрибута for , становится labeled-* контролом для данного label .

Примечание: Элемент label может иметь как атрибут for, так и отдельный элемент управления, если атрибут for указывает на содержащийся элемент управления.

Элемент формы, с которым связан label (его владелец формы). Если указано, значением атрибута является идентификатор элемента в том же документе. Это позволяет размещать элементы label в любом месте документа, а не только как потомки их элементов формы.

Примечание: Этот атрибут содержимого был удалён из спецификации HTML 28 апреля 2016 г. Однако сценарии по-прежнему имеют доступ только для чтения HTMLLabelElement.form ; он возвращает форму, членом которой является связанный элемент управления label, или значение NULL, если label не связана с элементом управления или элемент управления не является частью формы.

Примечания по использованию

  • можно связать с элементом управления, поместив элемент управления внутри элемента или используя атрибут for . Такой элемент управления называется помеченным элементом управления надписью. Один вход может быть связан с несколькими метками.
  • Метки сами по себе не связаны с формами. Они только косвенно связаны с формами через элементы управления, с которыми они связаны.

Элемент управления Label (Windows Forms)

Элемент управления ToolStripLabel заменяет элемент управления Label и обладает более широкими функциональными возможностями. Вы можете использовать ToolStripLabel с другими новыми элементами управления, такими как ToolStripDropDown. Однако элемент управления Label сохраняется для обеспечения обратной совместимости и использования в будущем.

Элементы управления Label Windows Forms используются для вывода текста, который недоступен для изменения пользователем. Они используются для идентификации объектов в форме — например, чтобы предоставлять описание того, что будет делать определенный элемент управления при его нажатии, или чтобы отображать сведения в ответ на событие времени выполнения или процесс в приложении. Так как элемент управления Label не может принимать фокус, его также можно использовать для создания клавиш доступа для других элементов управления.

В этом разделе

Общие сведения об элементе управления Label
Описание элемента управления, его основных возможностей и свойств.

Ссылка

Label
Описание класса и всех его членов.

Связанные разделы

Элементы управления для использования в Windows Forms
Полный список элементов управления Windows Forms со ссылками на информацию об их применении.

Совместная работа с нами на GitHub

Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.

Тип «метки» (label) в Си. Головоломка

Есть фундаментальный вопрос для языка Си. Какой тип данных у метки, той самой метки которая используется в «goto»?
Например в asm’е это будет, если не ошибаюсь — abs, но сколько не искал аналога в Си, ничего не нашел. Метка — это ж обычный указатель, такой же как int*, char* или void*, так почему же не предоставить ему тип?
Зачем это надо? Отвечаю.
Предположим мы находимся внутри функции и имеем участок кода который выполняется несколько раз из разных мест. К нему мы переходим с помощью goto (назовем его «прямым»). По выполнении этого участка надо вернуться обратно, к месту вызова. Для этого в конце упомянутого участка ипользуется так же goto(«обратный»). Однако, как было ранее сказано, вызовы делаются из разных мест, поэтому после «обратного» goto должна следовать не константа, а переменная, предварительно заполненная перед «прямым» goto.
Условно это можно изобразить так:
void SomeFn()
abs Label; //Предположим, что тип метки у нас называется abs

//1-й вызов
Label = L1; //F1 еще не известен, но это детали.
goto F;
L1: //Метка для возврата

//2-й вызов, аналогичен 1-му
Label = L2;
goto F;
L2: //2-я метка для возврата

F: //повторяемый участок кода
//Тут выполняем повторяющийся код и.
goto Label;//..возвращаемся к месту вызова
>

Вот собственно и весь вопрос.
Все мои извращения в bcb с данной схемой непреклонно откланялись компилятором как полный бред, поэтому и решил вынести вопрос на общее обозрение.
Возможно кто-то предложит использовать вместо повторяющегося участка функцию но я вежливо откажусь, и вот почему:

1.Из получившейся фунции не будет «видно» вызвавшую ее, а передача нужных переменных с помощью параметров может быть громоздкой, и даже очень громоздкой. Я уже не говорю о введении глобальных переменных. К тому же, если участок кода что-то изменяет надо вернуть значение (кстати только одно) или еще раз через параметры передавать адреса изменяемых объектов.

2.Участок может иметь смысл только для этой ф-ции, и выделяя его в отдельную ф-цию мы теряем целостность восприятия кода и время на ее вызов.

Еще лучше было бы дополнить стандарт языка Си соответсвующей конструкцией, что-то вроде «подфункции», и если так окажется что в Си действительно ничего подобного нет, то. подкиньте мыло Страуструпа — я сам скажу ему об этом.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *