恢复窗口后不显示ToolStripStatusLabel(最小化后)

时间:2017-05-19 12:02:39

标签: c# winforms statusstrip

我有一个简单的StatusStrip,里面有一个ToolStripStatusLabel。标签中的文字可能很长,所以我更喜欢显示它切割 我设置了ToolStripStatusLabel属性:Spring=trueTextAlign=MiddleLeft。我不想设置StatusStrip的属性LayoutStyle = ToolStripLayoutStyle.Flow,因为ToolStripLayoutStyle.Flow文本将被三角形覆盖(用于调整大小)。enter image description here

Text属性直接在InitializeComonents()之后设置,并按预期显示 - cutted 如果我最小化(到任务栏)然后恢复窗口,则根本不会显示文本。如果我使窗口更宽,我可以看到文本,如果我将窗口调到初始大小,我仍然可以看到文本,按预期切割。

我已经并将发布我的解决方案,但我会问你,你是否有任何优雅的解决方案?

1 个答案:

答案 0 :(得分:0)

我发现的解决方案非常简单。只需处理窗口的恢复事件(没有这样的事件,但有一个解决方法: Is there an event raised in C# when a window is restored?)并重置ToolStripStatusLabel中的文本:

var txt = tslabel.Text;
tslabel.Text = " ";
tslabel.Text = txt;