Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по C#.doc
Скачиваний:
259
Добавлен:
08.11.2018
Размер:
5.81 Mб
Скачать
      1. Вкладки TabControl

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

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

Наиболее важным свойством элемента управления TabControl является свойство TabPages, содержащее отдельные вкладки. Каждая вкладка представляет собой объект TabPage. Если перейти на вкладку, вызывается событие Click для соответствующего объекта TabPage.

Создание вкладок

Чтобы создать несколько вкладок выполните следующие действия:

  1. Выберите в Панели элементов на вкладке Контейнеры элемент управления TabControl и добавьте его на форму. В результате будет создан элемент управления TabControl с двумя вкладками TabPage1 и TabPage2.

  2. Выделите одну из вкладок. Перейдите в окно Свойства и измените наименование вкладки в свойстве Text.

Изменение внешнего вида элемента управления TabControl

Внешний вид вкладок в формах Windows Forms может быть изменен при помощи свойств элемента управления TabControl и объектов TabPage, представляющих отдельные вкладки в составе элемента управления. Настройка этих свойств позволяет отображать рисунки на вкладках, располагать вкладки вертикально, размещать их в несколько рядов, а также включать и выключать вкладки программными средствами.

Чтобы отобразить значок в области надписей на вкладке

  1. Добавьте элемент управления ImageList в форму.

  2. Добавьте изображение в список изображений.

  3. Задайте для свойства ImageList элемента управления TabControl значение ImageList.

  4. Присвойте свойству ImageIndex объекта TabPage значение индекса соответствующего изображения из списка.

В результате рядом с именами вкладок появятся иконки:

Чтобы добавить новую вкладку:

  1. Откройте панель Задачи, щелкнув по символу треугольника в верхнем правом углу элемента управления TabControl.

  2. Выберите команду Добавить вкладку.

Чтобы создать несколько рядов вкладок:

  1. Добавьте требуемое количество страниц вкладок.

  2. Присвойте свойству Multiline элемента TabControl значение true.

  3. Если вкладки еще не отображены в несколько рядов, уменьшите значение свойства Width элемента управления TabControl так, чтобы оно стало меньше общей ширины всех вкладок.

Чтобы расположить вкладки вдоль края элемента управления

Присвойте свойству Alignment элемента управления TabControl значение Left или Right.

Чтобы включить или выключить вкладку программными средствами

Присвойте свойству Enabled объекта TabPage значение true или false.

tabPage1.Enabled = false;

Чтобы отобразить вкладки в виде кнопок

Присвойте свойству Appearance элемента управления TabControl значение Buttons или FlatButtons.

В некоторых ситуациях бывает необходимо ограничить доступ к данным, доступным в приложении Windows Forms. Например, при отображении данных на вкладках может возникнуть необходимость запретить гостевым пользователям и пользователям нижнего уровня доступ к содержимому одной из вкладок.

Чтобы отключить страницы вкладок программными средствами

  1. Напишите код для обработки события SelectedIndexChanged элемента управления вкладок. Данное событие происходит при переключении пользователя на очередную вкладку.

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

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

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

  1. Если страниц вкладок больше двух, можно отобразить вкладку, отличающуюся от первоначальной.

В приведенном ниже примере вместо проверки учетных данных используется элемент управления CheckBox, поскольку условия доступа к вкладке будут изменяться в зависимости от приложения. Если при распознавании события SelectedIndexChanged проверка учетных данных прошла успешно (т. е. флажок установлен) и выбрана вкладка TabPage2 (в данном примере — вкладка с конфиденциальными данными), то вкладка TabPage2 отображается. В противном случае отображается вкладка TabPage3 и открывается окно с сообщением об отсутствии необходимых прав доступа. Нижеследующий код предполагает наличие формы, в которой имеется элемент управления CheckBox и элемент управления TabControl с тремя страницами вкладок.

private void tabControl1_SelectedIndexChanged(object sender, System.EventArgs e)

{ if ((CheckBox1.Checked = true) & (tabControl1.SelectedTab == tabPage2))

{ tabControl1.SelectedTab = tabPage2;

}

else if ((CredentialCheck.Checked = false) & (tabControl1.SelectedTab == tabPage2))

{ MessageBox.Show("Unable to load tab. You have insufficient access privileges.");

tabControl1.SelectedTab = tabPage3; }}

Добавление элемента управления на вкладку программными средствами

Элемент управления TabControl конструктора Windows Forms можно использовать для упорядочения отображения других элементов управления. В следующей процедуре показано, как отображать рисунок в основной части вкладки.

Чтобы добавить элемент управления программными средствами, выполните следующие действия: используйте метод Add коллекции, возвращаемой свойством Controls элемента управления TabPage:

tabPage1.Controls.Add(new Button());

либо

tabPage1.get_Controls().Add(new Button());

Добавление и удаление вкладок с помощью элемента управления TabControl в Windows Forms программными средствами

По умолчанию элемент управления TabControl содержит два элемента управления TabPage. Доступ к этим вкладкам возможен посредством свойства TabPages.

Чтобы добавить вкладки программными средствами используйте метод Add свойства TabPages.

string title = "TabPage " + (tabControl1.TabCount + 1).ToString();

TabPage myTabPage = new TabPage(title);

tabControl1.TabPages.Add(myTabPage);

Удаление вкладки программными средствами

Чтобы удалить выбранные вкладки используйте:

  • метод Remove свойства TabPages для удаления одной заданной вкладки.

либо

  • метод Clear свойства TabPages для удаления всех вкладок.

tabControl1.TabPages.Remove(tabControl1.SelectedTab);

tabControl1.TabPages.Clear();