Rom*_*kov 44 .net label winforms
Label在WinForms中右对齐a的最明显方法不起作用:将anchor设置为Top/Bottom Right,TextAlign设置为TopRight.如果文本改变了标签的左坐标保持不变而不是右坐标(人们可能认为这是一个错误).
出于这个原因,我总是使用全宽度TableLayoutPanel的右对齐标签.然而,根据所讨论的布局,这并不总是非常方便...
所以,我想知道是否有任何其他方法可以让我在WinForms中保持一个从未发生过的对齐?
Mar*_*ell 52
一个简单的选择是禁用AutoSize(设置为false)并使其超大,以便有空余空间.
或者,也许使用Dock而不仅仅是Anchor,虽然这有不同的含义,所以你可能需要把它放在一个Panel或类似的).最终,这就像第一个一样 - 首先是过度调整它; 所以也许第一种选择更简单.
使用带有停靠标签的TableLayoutPanel是我发现在Winforms中放置右对齐标签的唯一可靠方法.关闭AutoSize并使用超大标签似乎会导致高DPI用户出现奇怪的异常.
使用FlowLayoutPanel可以很好地完成它.
flowLayoutPanel.FlowDirection = System.Windows.Forms.FlowDirection.RightToLeft;
flowLayoutPanel2.Controls.Add(label);
Run Code Online (Sandbox Code Playgroud)
然后,只需确保flowLayoutPanel足够大,以便标签扩展.
小智 7
这是在标准表格上对我有用的东西