我正在尝试更新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();
}发布于 2012-11-12 06:54:00

您需要向StatusStrip中添加一个ToolStripStatusLabel。
然后设置标签的文本(您需要执行statusstrip.Refresh,因为状态标签上没有刷新)。
StatusStrip上的Text属性来自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();
}发布于 2018-02-16 09:58:34
我遇到了一个类似的问题,我看到了一个StatusStrip控件,但父控件中显然没有ToolStripStatusLabel项。甚至没有显示ToolStripStatusLabel项的初始文本(例如,"Ready")。标签项的Spring设置为true,TextAlign设置为TopLeft。
通过将StatusStrip控件的LayoutStyle设置为Flow并将ToolStripStatusLabel项的Overflow设置为Never,解决了此问题。显然,当父控件的布局样式设置为Table时,标签项被隐藏。
https://stackoverflow.com/questions/13336290
复制相似问题