Использование StatusStrip в C # - PullRequest
       35

Использование StatusStrip в C #

13 голосов
/ 14 января 2009

Рассмотрим System.Windows.Forms.StatusStrip . Я добавил StatusStrip в свое приложение Windows Forms, но у меня возникло несколько проблем.

Я хотел бы, чтобы метка была привязана слева, а индикатор выполнения - справа, в StatusStrip, но я не могу найти способ установить эти свойства.

Затем я подумал, что мне может понадобиться создать два StatusStrips и закрепить их по обе стороны от нижней части формы ... Это не получилось; кроме того, он просто не чувствует себя хорошо.

Ответы [ 5 ]

29 голосов
/ 14 января 2009

Просто установите для свойства Spring элемента управления меткой значение True, и все будет хорошо.

7 голосов
/ 14 января 2009

Что вам нужно сделать, это установить свойство выравнивания вашего индикатора выполнения вправо. Затем установите для 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;
2 голосов
/ 14 января 2009

Этого можно достичь с помощью макета таблицы по умолчанию для statusStrip, просто поместив другую метку между вашей текущей меткой и вашей progressBar и установив для свойства Spring значение true.

0 голосов
/ 19 ноября 2010

Откройте ваш дизайнер и установите this.toolStripStatusLabel1.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;

0 голосов
/ 14 января 2009

Вы пробовали свойство Alignment для ProgresBarToolStripItem, установленное в Right ?

...