Практическое руководство. Добавление панелей в элемент управления StatusBar
Важно!
Элементы управления StatusStrip и ToolStripStatusLabel заменяют элементы управления StatusBar и StatusBarPanel и расширяют их функциональные возможности; однако при необходимости элементы управления StatusBar и StatusBarPanel можно сохранить для обратной совместимости и использования в будущем.
Программируемая область элемента управления Элемент управления StatusBar (Windows Forms) состоит из экземпляров класса StatusBarPanel. Они добавляются путем добавления к классу StatusBar.StatusBarPanelCollection.
Добавление панелей в строку состояния
С помощью процедуры создайте панели строки состояния путем добавления их в коллекцию StatusBar.StatusBarPanelCollection. Определите параметры свойств отдельных панелей с помощью индексов, передаваемых через свойство Panels.
В следующем примере кода в качестве местоположения значка выбрана папка Мои документы. Такой выбор объясняется тем, что эта папка имеется на большинстве компьютеров, работающих под управлением операционной системы Windows. Кроме того, если используется эта папка, то для запуска приложения достаточен минимальный уровень доступа к системе. Для следующего примера требуется форма с заранее добавленным элементом управления StatusBar.
Примечание
Индекс коллекции StatusBar.StatusBarPanelCollection начинается с нуля, что, соответственно, должно быть учтено в коде.
Public Sub CreateStatusBarPanels() ' Create panels and set text property. StatusBar1.Panels.Add("One") StatusBar1.Panels.Add("Two") StatusBar1.Panels.Add("Three") ' Set properties of StatusBar panels. ' Set AutoSize property of panels. StatusBar1.Panels(0).AutoSize = StatusBarPanelAutoSize.Spring StatusBar1.Panels(1).AutoSize = StatusBarPanelAutoSize.Contents StatusBar1.Panels(2).AutoSize = StatusBarPanelAutoSize.Contents ' Set BorderStyle property of panels. StatusBar1.Panels(0).BorderStyle = StatusBarPanelBorderStyle.Raised StatusBar1.Panels(1).BorderStyle = StatusBarPanelBorderStyle.Sunken StatusBar1.Panels(2).BorderStyle = StatusBarPanelBorderStyle.Raised ' Set Icon property of third panel. You should replace the bolded ' icon in the sample below with an icon of your own choosing. StatusBar1.Panels(2).Icon = New _ System.Drawing.Icon(System.Environment.GetFolderPath _ (System.Environment.SpecialFolder.Personal) _ & "\Icon.ico") StatusBar1.ShowPanels = True End Sub
public void CreateStatusBarPanels() { // Create panels and set text property. statusBar1.Panels.Add("One"); statusBar1.Panels.Add("Two"); statusBar1.Panels.Add("Three"); // Set properties of StatusBar panels. // Set AutoSize property of panels. statusBar1.Panels[0].AutoSize = StatusBarPanelAutoSize.Spring; statusBar1.Panels[1].AutoSize = StatusBarPanelAutoSize.Contents; statusBar1.Panels[2].AutoSize = StatusBarPanelAutoSize.Contents; // Set BorderStyle property of panels. statusBar1.Panels[0].BorderStyle = StatusBarPanelBorderStyle.Raised; statusBar1.Panels[1].BorderStyle = StatusBarPanelBorderStyle.Sunken; statusBar1.Panels[2].BorderStyle = StatusBarPanelBorderStyle.Raised; // Set Icon property of third panel. You should replace the bolded // icon in the sample below with an icon of your own choosing. // Note the escape character used (@) when specifying the path. statusBar1.Panels[2].Icon = new System.Drawing.Icon (System.Environment.GetFolderPath _ (System.Environment.SpecialFolder.Personal) _ + @"\Icon.ico"); statusBar1.ShowPanels = true; }
public: void CreateStatusBarPanels() { // Create panels and set text property. statusBar1->Panels->Add("One"); statusBar1->Panels->Add("Two"); statusBar1->Panels->Add("Three"); // Set properties of StatusBar panels. // Set AutoSize property of panels. statusBar1->Panels[0]->AutoSize = StatusBarPanelAutoSize::Spring; statusBar1->Panels[1]->AutoSize = StatusBarPanelAutoSize::Contents; statusBar1->Panels[2]->AutoSize = StatusBarPanelAutoSize::Contents; // Set BorderStyle property of panels. statusBar1->Panels[0]->BorderStyle = StatusBarPanelBorderStyle::Raised; statusBar1->Panels[1]->BorderStyle = StatusBarPanelBorderStyle::Sunken; statusBar1->Panels[2]->BorderStyle = StatusBarPanelBorderStyle::Raised; // Set Icon property of third panel. // You should replace the bolded image // in the sample below with an icon of your own choosing. statusBar1->Panels[2]->Icon = gcnew System::Drawing::Icon(String::Concat( System::Environment::GetFolderPath( System::Environment::SpecialFolder::Personal), "\\Icon.ico")); statusBar1->ShowPanels = true; }
См. также
Задачи
Практическое руководство. Определение размера панелей строки состояния
Пошаговое руководство. Обновление строки состояния во время выполнения
Ссылки
Диалоговое окно "Редактор коллекции"
Общие сведения об элементе управления StatusBar (Windows Forms)