如何在Windows窗体中更新StatusStrip

Luk*_*101 36 c# winforms .net-4.5

我正在尝试更新Windows窗体应用程序中的状态条,但没有显示任何内容.这是我的代码:

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();
}
Run Code Online (Sandbox Code Playgroud)

小智 47

在此输入图像描述

您将需要一个补充ToolStripStatusLabelStatusStrip.

然后设置标签的文本(你需要做一个,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();
}
Run Code Online (Sandbox Code Playgroud)