我使用Graphics.DrawString
绘制字符串并希望包含尾随空格,因此我使用StringFormatFlags.MeasureTrailingSpaces
。对于单行字符串,这可以正常工作,但我注意到新行字符也会在行尾产生空白。这不是我想要的(我不知道会是谁)。如何在.NET中绘制带尾随空格的多行字符串
所以我想实现一个MyDrawString
方法,创建以下输出。 |
是右对齐绘制操作的x坐标。实现也应该适用于居中的字符串。
MyDrawString("Test") -> Test|
MyDrawString("Test ") -> Test |
MyDrawString("Test\r\nLine 2 ") -> Test|
Line 2 |
不幸的是,最后一次通话的输出看起来更像
Test |
Line 2 |
有没有一种方法可以达到我想要的东西不分手的字符串,并以白描它行?
如果不是这样,在同一垂直位置单独绘制线条以便单个调用将使用的最佳方法是什么? MeasureString().Height
没有给我两条线之间的全部距离。
UPDATE
我发现this MSDN page解释如何确定行高时DrawString
绘制多行字符串。尽管如此,我仍然倾向于使用一个单独的DrawString
调用来处理各行的垂直对齐以及整个文本块。任何提示?
它很容易测试你自己的最后一个问题。 – 2013-03-25 07:39:00
你说得对。不幸的是,结果导致另一个挑战。我已经相应地更新了这个问题。 – 2013-03-25 07:56:17