Какой элемент содержит строка состояния
Перейти к содержимому

Какой элемент содержит строка состояния

  • автор:

Какой элемент содержит строка состояния

Вкладка «Строка состояния»

Вкладка Строка состояния диалога Настройка пользовательского интерфейса предназначена для управления элементами интерфейса, расположенными в строке состояния программы.

Вкладка содержит список стандартных элементов строки состояния.

Используя контекстное меню в строку состояния можно добавить кнопку, контрол, свойство и разделитель.

Добавить элемент можно перетаскиванием из списка инструментов.

Параметры элементов редактируются в окне Свойства .

1. Выбрать команду в контекстном меню.

2. Установить параметры в диалоге Создать контрол строки состояния .

1. Выбрать команду в контекстном меню.

2. Установить параметры в диалоге Создать кнопку строки состояния .

Параметры диалога идентичны параметрам при создании контрола.

1. Выбрать команду в контекстном меню.

2. Установить параметры в диалоге Создать свойство строки состояния .

К предыдущим параметрам добавляются:

Удаление элементов строки состояния клавиш

1. Выбрать элемент в списке элементов строки состояния.

2. Использовать команду Удалить контекстного меню.

Какой элемент содержит строка состояния

StatusStrip представляет строку состояния, во многом аналогичную панели инструментов ToolStrip. Строка состояния предназначена для отображения текущей информации о состоянии работы приложения.

При добавлении на форму StatusStrip автоматически размещается в нижней части окна приложения (как и в большинстве приложений). Однако при необходимости мы сможем его иначе позиционировать, управляя свойством Dock , которое может принимать следующие значения:

  • Bottom : размещение внизу (значение по умолчанию)
  • Top : прикрепляет статусную строку к верхней части формы
  • Fill : растягивает на всю форму
  • Left : размещение в левой части формы
  • Right : размещение в правой части формы
  • None : произвольное положение

StatusStrip может содержать различные элементы. В режиме дизайнера мы можем добавить следующие типы элементов:

StatusStrip в Windows Forms

  • StatusLabel : метка для вывода текстовой информации. Представляет объект ToolStripLabel
  • ProgressBar : индикатор прогресса. Представляет объект ToolStripProgressBar
  • DropDownButton : кнопка с выпадающим списком по клику. Представляет объект ToolStripDropDownButton
  • SplitButton : еще одна кнопка, во многом аналогичная DropDownButton. Представляет объект ToolStripSplitButton

Либо можно обратиться на панели свойств к свойству Items компонента StatusStrip и открывшемся окне добавить и настроить все элементы: Также мы можем добавить элементы программно. Создадим небольшую программу. Определим следующий код формы:

public partial class Form1 : Form < ToolStripLabel dateLabel; ToolStripLabel timeLabel; ToolStripLabel infoLabel; Timer timer; public Form1() < InitializeComponent(); infoLabel = new ToolStripLabel(); infoLabel.Text = "Текущие дата и время:"; dateLabel = new ToolStripLabel(); timeLabel = new ToolStripLabel(); statusStrip1.Items.Add(infoLabel); statusStrip1.Items.Add(dateLabel); statusStrip1.Items.Add(timeLabel); timer = new Timer() < Interval = 1000 >; timer.Tick += timer_Tick; timer.Start(); > void timer_Tick(object sender, EventArgs e) < dateLabel.Text = DateTime.Now.ToLongDateString(); timeLabel.Text = DateTime.Now.ToLongTimeString(); >>

Строка состояния в C# и Windows Forms

Здесь создаются три метки на строке состояния и таймер. После создания формы таймер запускается, и срабатывает его событие Tick, в обработчике которого устанавливаем текст меток.

Столбцы состояния (основы проектирования)

Это руководство по проектированию было создано для Windows 7 и не обновлялось для более новых версий Windows. Большая часть руководства по-прежнему применяется в принципе, но презентация и примеры не отражают наше текущее руководство по проектированию.

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

Строки состояния обычно указывают состояние с помощью текста и значков, но они также могут содержать индикаторы хода выполнения, а также меню для команд и параметров, связанных с состоянием.

Снимок экрана: типичная строка состояния

Типичная строка состояния.

Рекомендации, связанные с областью уведомлений , представлены в отдельной статье.

Это правильный пользовательский интерфейс?

Чтобы определиться, ответьте на вопросы:

Снимок экрана: красная строка состояния

  • Является ли состояние актуальным, когда пользователи активно используют другие программы? Если да, используйте значки области уведомлений.
  • Нужно ли отображать уведомления в элементе состояния? В этом случае необходимо использовать значок области уведомлений.
  • Является ли окно основным окном? В противном случае не используйте строку состояния. Диалоговые окна, мастера, панели управления и листы свойств не должны содержать строки состояния.
  • Является ли информация в первую очередь состоянием? В противном случае не используйте строку состояния. Строки состояния не должны использоваться в качестве дополнительной строки меню или панели инструментов.
  • Содержатся ли сведения о том, как использовать выбранный элемент управления? Если это так, отобразите сведения рядом со связанным элементом управления с помощью дополнительного объяснения или метки инструкции.
  • Является ли состояние полезным и актуальным? То есть, могут ли пользователи изменить свое поведение в результате этой информации? В противном случае не отображайте состояние или поместите его в файл журнала.
  • Является ли состояние критическим? Требуются ли немедленные действия? Если это так, отобразите информацию в форме, требующей внимания и которая не может быть легко проигнорирована, например в диалоговом окне или в самом основном окне. Красная адресная строка в Windows Internet Обозреватель.
  • Предназначена ли программа в первую очередь для начинающих пользователей? Неопытные пользователи, как правило, не знают о строках состояния, поэтому пересмотрите использование строк состояния в этом случае.

Принципы проектирования

Строки состояния — это отличный способ предоставления сведений о состоянии, не прерывая работу пользователей и не нарушая их поток. Тем не менее, строки состояния легко заметить. Настолько просто, что многие пользователи вообще не замечают строк состояния.

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

  • Убедитесь, что сведения о состоянии полезны и актуальны. В противном случае не указывайте строку состояния.
  • Не используйте строки состояния для получения важных сведений. Пользователям никогда не нужно знать, что находится в строке состояния. Если пользователи должны видеть его, не помещайте его в строку состояния.

Если вы делаете только одно.

Убедитесь, что сведения в строке состояния полезны и актуальны, но не важны.

Варианты использования

В строках состояния есть несколько шаблонов использования:

Использование Пример
Текущее состояние окна
Отображение источника отображаемого содержимого вместе с любыми режимами представления
Снимок экрана: строка состояния location
В этом примере в строке состояния отображается путь к документу.
Ход выполнения
Отображение хода выполнения фоновых задач с помощью определенного индикатора выполнения или анимации.
Снимок экрана: строка состояния с индикатором выполнения
В этом примере строка состояния содержит индикатор выполнения, отображающий загрузку веб-страницы в окно интернет-Обозреватель.
контекстные сведения.
Отображение контекстной информации о том, что пользователь в настоящее время делает.
Снимок экрана: строка состояния, показывающая количество пикселей
В этом примере Microsoft Paint показывает размер выделенного фрагмента в пикселях.

Рекомендации

Общие сведения

  • Рассмотрите возможность предоставления команды Просмотр строки состояния, если только некоторым пользователям потребуется информация о строке состояния. Скройте строку состояния по умолчанию, если она не нужна большинству пользователей.
  • Не используйте строку состояния для объяснения пунктов строки меню. Этот шаблон справки недоступен для обнаружения.

Уровень представления

  • Отключите модальное состояние, которое не применяется. Модальное состояние включает состояния клавиатуры и документа.
  • Удалите немодальное состояние, которое не применяется.
  • Представить сведения о состоянии в следующем порядке: текущее состояние окна; Прогресс; и контекстно-информативная информация.

Значки

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

Дополнительные сведения см. в разделе Значки.

Взаимодействие

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

    Текст

    • Как правило, используйте краткие метки. Вырезать любой текст, который можно исключить.
    • Предпочитать фрагменты предложений без прекращения пунктуации. Используйте полные предложения (с завершающей пунктуацией) только в том случае, если фрагменты предложений не являются значительно короче.
    • Для необязательных меток хода выполнения укажите, что делает операция, с помощью метки, которая начинается с глагола (форма gerund) и заканчивается многоточием. Например: «Копирование. «. Эта метка может динамически изменяться, если операция состоит из нескольких шагов или обрабатывает несколько объектов.
    • Не используйте цвет, полужирный шрифт или курсив для выделения текста строки состояния.
    • Рекомендации по созданию выражений с подсказками см. в разделе Подсказки и подсказки.

    Документация

    Строки состояния называются строками состояния, а не строками состояния или другими вариантами. Пример: «Текущий номер страницы отображается в строке состояния».

    Панели состояния (элементы управления Windows)

    Строка состояния — это горизонтальное окно в нижней части родительского окна, в котором приложение может отображать различные типы сведений о состоянии. Строка состояния может быть разделена на части для отображения нескольких типов сведений. На следующем снимке экрана показана строка состояния в приложении Microsoft Windows Paint. В этом случае строка состояния содержит текст «Для справки, щелкните разделы справки в меню справки». Строка состояния — это область в нижней части окна, содержащая текст справки и сведения о координатах.

    screen shot of the paint application, with a status bar that contains hints about online help

    Этот раздел содержит следующие темы.

    • Типы и стили
    • Размер и высота
    • Панели состояния нескольких частей
    • Операции текста строки состояния
    • Строки состояния, нарисованные владельцем
    • Панели состояния простого режима
    • Обработка сообщений строки состояния по умолчанию

    Типы и стили

    Положение строки состояния по умолчанию находится в нижней части родительского окна, но можно указать стиль CCS_TOP , чтобы он отображалась в верхней части клиентской области родительского окна.

    Вы можете указать стиль SBARS_SIZEGRIP , чтобы включить сцепление размера в правом конце строки состояния.

    Размер и высота

    Приложение может задать минимальную высоту области рисования строки состояния, отправив окно SB_SETMINHEIGHT сообщение, указывая минимальную высоту в пикселях. Область рисования не включает границы окна. Минимальная высота полезна для рисования в строке состояния, нарисованной владельцем. Дополнительные сведения см. в разделах «Нарисованные владельцем» строки состояния далее в этой главе.

    Панели состояния нескольких частей

    Строка состояния может содержать множество различных частей, каждая из которых отображает другую строку текста. Строка состояния делится на части, отправляя окно SB_SETPARTS сообщение, указывая количество частей для создания и адрес целочисленного массива. Массив содержит один элемент для каждой части, и каждый элемент задает клиентская координата правой границы части.

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

    Операции текста строки состояния

    Вы задаете текст любой части строки состояния, отправляя сообщение SB_SETTEXT , указывая отсчитываемый от нуля индекс части, адрес строки для рисования в части и метод рисования строки. Метод рисования определяет, имеет ли текст границу и, если это делает, стиль границы. Он также определяет, отвечает ли родительское окно за рисование текста. Дополнительные сведения см. в разделе «Нарисованные владельцем» строки состояния ниже.

    По умолчанию текст выравнивается по левому краю в указанной части строки состояния. Вы можете внедрить символы вкладок (\ t) в текст в центр или выровнять его по правому краю. Текст справа от одного символа табуляции по центру, а текст справа от второго символа табуляции выравнивается по правому краю.

    Чтобы получить текст из строки состояния, используйте SB_GETTEXTLENGTH и SB_GETTEXT сообщения.

    Если приложение использует строку состояния, которая имеет только одну часть, можно использовать WM_SETTEXT, WM_GETTEXT и WM_GETTEXTLENGTH сообщения для выполнения текстовых операций. Эти сообщения имеют дело только с частью, которая имеет индекс нуля, что позволяет обрабатывать строку состояния так же, как статический текстовый элемент управления.

    Чтобы отобразить строку состояния без создания строки состояния, используйте функцию DrawStatusText . Функция использует те же методы для рисования состояния, что и процедура окна для строки состояния, но она не автоматически задает размер и положение сведений о состоянии. При вызове функции необходимо указать размер и позицию сведений о состоянии, а также контекст устройства окна, в котором он будет вырисовывать.

    Строки состояния, нарисованные владельцем

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

    Чтобы определить часть окна как рисуемую владельцем, отправьте сообщение SB_SETTEXT в строку состояния, указав часть и метод рисования SBT_OWNERDRAW. При указании SBT_OWNERDRAW параметр lParam является 32-разрядным значением, определяемым приложением при рисовании части. Например, можно указать дескриптор шрифта, дескриптор растрового изображения, адрес строки и т. д.

    Если строке состояния нужно нарисовать часть, нарисованную владельцем, она отправляет сообщение WM_DRAWITEM в родительское окно. Параметр wParam сообщения — это дочерний идентификатор окна строки состояния, а параметр lParam — адрес структуры DRAWITEMSTRUCT . Родительское окно использует сведения в структуре для рисования части. Для нарисованной владельцем части строки состояния DRAWITEMSTRUCT содержит следующие сведения.

    Элемент Description
    CtlType Неопределенный; не используйте.
    CtlID Идентификатор дочернего окна строки состояния.
    Itemid Отсчитываемый от нуля индекс части.
    itemAction Неопределенный; не используйте.
    ItemState Неопределенный; не используйте.
    hwndItem Дескриптор в строке состояния.
    Hdc Обработка контекста устройства в строке состояния.
    rcItem Координаты части окна, нарисованной. Координаты относятся к левому верхнему углу строки состояния.
    Itemdata Определяемое приложением 32-разрядное значение, указанное в параметре lParam сообщения SB_SETTEXT.

    Панели состояния простого режима

    Вы помещаете строку состояния в «простой режим», отправляя его SB_SIMPLE сообщение. В строке состояния простого режима отображается только одна часть. Если задан текст окна, окно является недействительным, но оно не будет перезабрано до следующей WM_PAINT. Ожидание сообщения уменьшает мерцание экрана, минимизируя количество перезавернутых окон. Простая строка состояния режима полезна для отображения текста справки для элементов меню, пока пользователь прокручивает меню.

    Строка, отображаемая строкой состояния в простом режиме, сохраняется отдельно от строк, отображаемых в режиме nonsimple. Это означает, что окно можно поместить в простой режим, задать его текст и вернуться в режим nonsimple без изменения текста в режиме nonsimple.

    При настройке текста строки состояния простого режима можно указать любой метод рисования, кроме SBT_OWNERDRAW. Строка состояния простого режима не поддерживает рисование владельца.

    Обработка сообщений строки состояния по умолчанию

    В этом разделе описываются сообщения, обрабатываемые процедурой окна для предопределенного класса STATUSCLASSNAME .

    Message Обработка по умолчанию
    WM_CREATE Инициализирует строку состояния.
    WM_DESTROY Освобождает ресурсы, выделенные для строки состояния.
    WM_GETFONT Возвращает дескриптор текущего шрифта, с помощью которого строка состояния рисует текст.
    WM_GETTEXT Копирует текст из первой части строки состояния в буфер. Он возвращает 32-разрядное значение, указывающее длину текста в символах и метод, используемый для рисования текста.
    WM_GETTEXTLENGTH Возвращает 32-разрядное значение, указывающее длину текста в первой части строки состояния и метод, используемый для рисования текста.
    WM_NCHITTEST Возвращает значение H ТБ OTTOMRIGHT, если курсор мыши находится в сцеплении размера, что приводит к отображению курсора размера системы. Если курсор мыши не находится в сцеплении размера, строка состояния передает это сообщение функции DefWindowProc .
    WM_PAINT Закрашивает недопустимый регион строки состояния. Если параметр wParam не имеет значения NULL, элемент управления предполагает, что значение является HDC и краской с помощью этого контекста устройства.
    WM_SETFONT Выбирает дескриптор шрифта в контексте устройства для строки состояния.
    WM_SETTEXT Копирует указанный текст в первую часть строки состояния, используя операцию рисования по умолчанию (указанную как ноль). При успешном выполнении или false возвращает значение TRUE.
    WM_SIZE Изменяет размер строки состояния на основе текущей ширины клиентской области родительского окна и высоты текущего шрифта строки состояния.

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

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