C# для Windows Урок 4. Работа со строкой состояния (StatusBar) 2
Продолжаем заниматься строкой состояния.
Вот так мы можем обрабатывать щелчок мышью на нашей строке состояния:
private void statusBar1_PanelClick(object sender,
System.Windows.Forms.StatusBarPanelClickEventArgs e)
{
// Производим действие только при щелчке правой кнопкой
// мыши на нулевой панели.
if(e.Button == MouseButtons.Right &&
e.StatusBarPanel == statusBar1.Panels[0])
{
MessageBox.Show("Нулевая панель");
}
}
Обратите внимание на параметр e типа StatusBarPanelClickEventArgs,
передаваемый в наш обработчик. Он имеет такие свойства как X и Y
(позволяют определить точку, на которой мы щелкнули), StatusBarPanel
(позволяет определить панель, на которой щелкнули - см. пример выше),
Button (служит для определения кнопки мыши - применение этого свойства
тоже есть в нашем примере), Clicks - сколько раз была нажата и отпущена
кнопка мыши и др.
Часто для строки состояния необходимо, чтобы правая панель имела
фиксированный размер и располагалась всегда в превом углу формы. Это
можно сделать, например, так:
private void statusBar1_Resize(object sender, System.EventArgs e)
{
statusBar1.Panels[0].Width = statusBar1.Width-100;
}
Мы тут добавили обработчик для изменения размера строки состояния. В
нем мы устанавливаем размер левой панели только на 100 меньше, чем
размер всей строки состояния. 100 же пикселов остается на правую панель.
Теперь правая панель имеет фиксированный размер:
|