小编Mar*_*mes的帖子

Graphics.DrawString()vs TextRenderer.DrawText()

我对这两种方法感到困惑.

我的理解是Graphics.DrawString()使用GDI +并且是基于图形的实现,而TextRenderer.DrawString()使用GDI并允许大量字体并支持unicode.

我的问题是当我尝试将基于十进制的数字打印为打印机的百分比时.我的研究让我相信TextRenderer是一个更好的方法.

但是,MSDN建议,"TextRenderer的DrawText方法不支持打印.您应该始终使用Graphics类的DrawString方法."

我使用Graphics.DrawString打印的代码是:

if (value != 0)
    e.Graphics.DrawString(String.Format("{0:0.0%}", value), GetFont("Arial", 12, "Regular"), GetBrush("Black"), HorizontalOffset + X, VerticleOffset + Y);
Run Code Online (Sandbox Code Playgroud)

对于0到1之间的数字打印"100%",对于零以下的数字打印"-100%".

我放的时候

Console.WriteLine(String.Format("{0:0.0%}", value));
Run Code Online (Sandbox Code Playgroud)

在我的print方法中,值以正确的格式打印(例如:75.0%),所以我很确定问题出在Graphics.DrawString()中.

c# drawstring

7
推荐指数
1
解决办法
8884
查看次数

标签 统计

c# ×1

drawstring ×1