我应该如何设置WordWrap = false为System.Windows.Forms.Label?
我在面板上有一个标题,它应该显示"MyPanel capt..."。所以我使用AutoEllipsis = true,但这还不够。
我也使用“ AutoSize = true”,因为我希望标签占用尽可能小的空间。
Apropos,Visual Basic 6.0做到了。
使用以下方法,我得到类似的效果:
label1.AutoSize = false;
label1.AutoEllipsis = true;
Run Code Online (Sandbox Code Playgroud)
并将标签区域的高度调整为仅一行。
我找到了一个解决方案:
this.label.AutoEllipsis = true;
this.label.AutoSize = true;
Run Code Online (Sandbox Code Playgroud)
在面板的 Resize 事件处理程序中:
...
textHeight = this.label.Font.SizeInPoints; // Take in pixels, not points
...
Size newMaxSize = new Size(this.Width,
textHeight + label.Padding.Top + label.Padding.Bottom);
this.label.MaximumSize = newMaxSize;
...
Run Code Online (Sandbox Code Playgroud)