我正在尝试更新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();
}
答案 0 :(得分:46)
您需要向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();
}
答案 1 :(得分:0)
我遇到了类似的问题,我看到StatusStrip
控件但在父控件中显然没有ToolStripStatusLabel
项。甚至没有显示ToolStripStatusLabel
项目的初始文本(例如,“就绪”)。标签项Spring
设置为true
,TextAlign
设置为TopLeft
。
通过将StatusStrip控件的LayoutStyle
设置为Flow
并将ToolStripStatusLabel
项Overflow
设置为Never
,问题得以解决。当父控件的布局样式设置为Table
时,显然隐藏了标签项。