Как определить, какие единицы используются? - PullRequest
0 голосов
/ 15 августа 2011

так что мне просто интересно, как вы узнаете, какие юниты используются чем?все по умолчанию в пикселях, или дюймах или что?

Например, у меня есть строка, которую я хотел бы поместить на правой стороне объекта.так что я думал, что делал что-то вроде этого:

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» расположено справа от правой стороны, а во втором… 1016

так что же, как узнать, какие единицы используются?

спасибо!

Ответы [ 2 ]

2 голосов
/ 15 августа 2011

System.Windows.Forms.TextRenderer.MeasureText возвращает размер в пикселях.

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

0 голосов
/ 15 августа 2011

В WinForms единицей по умолчанию являются пиксели (за исключением, например, размера шрифта в точках), включая результат MeasureText.

Что такое context.DrawText?Почему бы не позвонить Graphics.DrawString ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...