Использование StatusStrip в C #
-
22-07-2019 - |
Вопрос
Рассмотрим System.Windows.Forms.StatusStrip . Я добавил StatusStrip в свое приложение Windows Forms, но у меня возникли некоторые проблемы.
Я хотел бы, чтобы метка была прикреплена слева, а индикатор выполнения - справа, в StatusStrip, но я не могу найти способ установить эти свойства.
Затем я подумал, что мне может понадобиться создать два StatusStrips и закрепить их по обе стороны от нижней части формы ... Это не сработало; кроме того, он просто не чувствует себя хорошо.
Решение
Просто установите для свойства Spring
в элементе управления меткой значение True
, и все будет хорошо.
Другие советы
Что вам нужно сделать, так это установить свойство выравнивания вашего индикатора выполнения вправо. Затем установите для LayoutStyle StatusStrip значение HorizontalStackWithOverflow.
private void InitializeComponent()
{
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel();
this.toolStripProgressBar1 = new System.Windows.Forms.ToolStripProgressBar();
this.statusStrip1.SuspendLayout();
this.SuspendLayout();
//
// statusStrip1
//
this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripStatusLabel1,
this.toolStripProgressBar1});
this.statusStrip1.LayoutStyle = System.Windows.Forms.ToolStripLayoutStyle.HorizontalStackWithOverflow;
this.statusStrip1.Location = new System.Drawing.Point(0, 250);
this.statusStrip1.Name = "statusStrip1";
this.statusStrip1.Size = new System.Drawing.Size(467, 22);
this.statusStrip1.TabIndex = 0;
this.statusStrip1.Text = "statusStrip1";
//
// toolStripStatusLabel1
//
this.toolStripStatusLabel1.Name = "toolStripStatusLabel1";
this.toolStripStatusLabel1.Size = new System.Drawing.Size(117, 17);
this.toolStripStatusLabel1.Text = "toolStripStatusLabel1";
//
// toolStripProgressBar1
//
this.toolStripProgressBar1.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
this.toolStripProgressBar1.Name = "toolStripProgressBar1";
this.toolStripProgressBar1.Size = new System.Drawing.Size(100, 16);
}
private System.Windows.Forms.StatusStrip statusStrip1;
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1;
private System.Windows.Forms.ToolStripProgressBar toolStripProgressBar1;
Этого можно добиться с помощью макета таблицы по умолчанию для statusStrip, просто поместив другую метку между вашей текущей меткой и вашей прогрессбаром и установив для свойства Spring значение true.
Откройте ваш дизайнер и установите this.toolStripStatusLabel1.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;