Полосы инструментов — это распространенный компонент графических пользовательских интерфейсов (GUI), который обеспечивает удобный способ организации и доступа к различным командам и действиям. По умолчанию панели инструментов имеют горизонтальную ориентацию, но могут возникнуть ситуации, когда вам понадобится вертикальная полоса инструментов, чтобы лучше соответствовать макету вашего приложения или предпочтениям пользователя. В этой статье мы рассмотрим несколько способов легкого создания вертикальной панели инструментов с помощью C# и платформы WinForms.
Метод 1: вращение ToolStrip
Один из подходов к созданию вертикальной панели инструментов — поворот всего элемента управления. В WinForms это можно сделать, создав подкласс элемента управления ToolStrip и переопределив его метод OnPaint. Внутри метода OnPaintвы можете использовать класс Graphicsдля поворота изображения панели инструментов на 90 градусов. Вот пример:
public class VerticalToolStrip : ToolStrip
{
protected override void OnPaint(PaintEventArgs e)
{
e.Graphics.RotateTransform(90);
e.Graphics.TranslateTransform(0, -Width);
base.OnPaint(e);
}
}
Метод 2. Пользовательский макет с помощью ToolStripPanel
Другой метод — использовать элемент управления ToolStripPanel, который позволяет гибко упорядочивать панели инструментов. Размещая ToolStripPanel вертикально, можно добиться эффекта вертикальной панели инструментов. Вот пример:
ToolStripPanel panel = new ToolStripPanel();
panel.Dock = DockStyle.Left; // Set the panel to the left side of the container
Controls.Add(panel);
ToolStrip toolStrip = new ToolStrip();
panel.Join(toolStrip); // Add the toolstrip to the panel
Метод 3: позиционирование ToolStripItems вручную
Если вы предпочитаете больше контроля над макетом, вы можете вручную расположить ToolStripItems вертикально внутри панели инструментов. Установив для свойства OrientationToolStrip значение Vertical, вы можете размещать элементы вертикально. Вот пример:
ToolStrip toolStrip = new ToolStrip();
toolStrip.Orientation = Orientation.Vertical;
ToolStripButton button1 = new ToolStripButton("Button 1");
ToolStripButton button2 = new ToolStripButton("Button 2");
toolStrip.Items.Add(button1);
toolStrip.Items.Add(button2);
В этой статье мы рассмотрели несколько методов создания вертикальной панели инструментов в WinForms с использованием C#. Независимо от того, решите ли вы повернуть панель инструментов, использовать ToolStripPanel или вручную расположить ToolStripItems, вы можете легко добиться желаемой вертикальной ориентации панели инструментов. Поэкспериментируйте с этими методами и выберите тот, который лучше всего соответствует потребностям вашего приложения.