0

我有一个简单的 StatusStrip,里面有一个 ToolStripStatusLabel。标签中的文本可能很长,所以我更喜欢将其显示为剪切。
我已经设置了 ToolStripStatusLabel 属性:Spring=trueTextAlign=MiddleLeft. 我不想设置 StatusStrip 的属性LayoutStyle = ToolStripLayoutStyle.Flow,因为ToolStripLayoutStyle.FlowText 将被三角形覆盖(用于调整大小)。在此处输入图像描述

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

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

4

1 回答 1

0

我找到的解决方案非常简单。只需处理窗口的恢复事件(没有这样的事件,但有一个解决方法: 恢复窗口时是否在 C# 中引发事件?)并重置 ToolStripStatusLabel 中的文本:

var txt = tslabel.Text;
tslabel.Text = " ";
tslabel.Text = txt;
于 2017-05-22T08:33:57.693 回答