37

我正在尝试更新我的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();
}
4

2 回答 2

52

在此处输入图像描述

您将需要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();
}
于 2012-11-11T22:54:00.253 回答
0

我遇到了类似的问题,我看到一个StatusStrip控件,但显然ToolStripStatusLabel在父控件中没有项目。甚至没有显示ToolStripStatusLabel项目的初始文本(例如,“Ready”)。标签项的Spring设置为true和。TextAlignTopLeft

该问题已通过将 StatusStrip 控件设置LayoutStyleFlow并将ToolStripStatusLabel项目设置为Overflow来解决Never。显然,当父控件的布局样式设置为Table.

于 2018-02-16T01:58:34.283 回答