Подтвердить что ты не робот

Как обновить StatusStrip в Windows Forms

Я пытаюсь обновить полосу статуса в приложении Windows Forms, но ничего не отображается. Вот мой код:

private void textBox1_TextChanged(object sender, EventArgs e)
{
    lines = Regex.Split(textBox1.Text.Trim(), "\r\n");
    lineCount = lines.Count();
    statusStrip1.Text = "Lines: " + lineCount;
    statusStrip1.Refresh();
}
4b9b3361

Ответ 1

введите описание изображения здесь

Вам нужно добавить ToolStripStatusLabel в StatusStrip.

Затем установите вместо этого текст метки (вам нужно сделать statusstrip.Refresh, так как на метке состояния нет обновления).

Свойство Text на StatusStrip происходит от наследования StatusStrip ToolStrip (который, в свою очередь, наследует Control), но не имеет визуального эффекта из-за природы ToolStrips. Это может быть немного запутанным.

Пример:

private void textBox1_TextChanged(object sender, EventArgs e)
{
    //...
    lines = Regex.Split(textBox1.Text.Trim(), "\r\n");
    lineCount = lines.Count();

    //this label is added in visual editor using the default name
    ToolStripStatusLabel1.Text = string.Format("Lines: {0}", lineCount);
    StatusStrip1.Refresh();
}