如何确定使用哪些单位?

时间:2011-08-15 19:27:26

标签: c# text size

所以我只是想知道你如何知道哪些单位被哪些单位使用?一切都默认为像素,或英寸或什么?

例如,我有一个字符串,我想放在一个对象的右侧。所以我认为这样做是这样的:

string str = "this is a string";
System.Drawing.Font f = new System.Drawing.Font("Verdana",14);
System.Drawing.Size size = System.Windows.Forms.TextRenderer.MeasureText(str, f);
context.DrawText(str, new Point(790-size.Width, 1070));

我假设这将取对象的宽度(790)并从中减去字符串的长度,然后字符串将很好并且紧贴对象的右侧....但是当我这样做,字符串开始更多,所以在对象的中间,字符串和对象的正确大小之间有很多空格......

例如,这就是我想要的:

                                                                           String

这就是我得到的:

                                                 string

注意到第一个,'String'一词正对着右边,而在第二个......它不是

那么我如何知道正在使用哪些单位?

谢谢!

2 个答案:

答案 0 :(得分:2)

System.Windows.Forms.TextRenderer.MeasureText返回大小(以像素为单位)。

http://msdn.microsoft.com/en-us/library/system.windows.forms.textrenderer.measuretext.aspx

答案 1 :(得分:0)

在WinForms中,默认单位是像素(例如以磅为单位的字体大小除外),包括MeasureText的结果。

什么是context.DrawText?为什么不拨打Graphics.DrawString