不会这样的
默认单位是象素
see also:
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpguide/html/_gdiplus_types_of_coordinate_systems_about.htm

解决方案 »

  1.   

    PrinterUnit 枚举  [C#]请参见
    System.Drawing.Printing 命名空间 | PageSetupDialog | PreviewPrintController | PrinterSettings | PrinterUnitConvert | PrinterUnit 枚举(Visual J# 语法) | C++ 托管扩展编程 
    要求
    命名空间: System.Drawing.Printing平台: Windows 98, Windows NT 4.0, Windows ME, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 系列程序集: System.Drawing (在 System.Drawing.dll 中)
    语言
    C#C++JScriptVisual Basic全部显示
    指定 Win32 应用程序编程接口 (API) 的几个用于打印的度量单位。[Visual Basic]
    <Serializable>
    Public Enum PrinterUnit[C#]
    [Serializable]
    public enum PrinterUnit[C++]
    [Serializable]
    __value public enum PrinterUnit[JScript]
    public
       Serializable
    enum PrinterUnit备注
    PreviewPrintController、PrinterSettings 和 PageSetupDialog 使用此枚举。有关打印的更多信息,请参见 System.Drawing.Printing 命名空间概述。成员
    成员名称 说明 
    Display 默认单位(0.01 英寸)。 
    HundredthsOfAMillimeter 百分之一毫米(0.01 毫米)。 
    TenthsOfAMillimeter 十分之一毫米(0.1 毫米)。 
    ThousandthsOfAnInch 千分之一英寸(0.001 英寸)。 要求
    命名空间: System.Drawing.Printing平台: Windows 98, Windows NT 4.0, Windows ME, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 系列程序集: System.Drawing (在 System.Drawing.dll 中)请参见
    System.Drawing.Printing 命名空间 | PageSetupDialog | PreviewPrintController | PrinterSettings | PrinterUnitConvert | PrinterUnit 枚举(Visual J# 语法) | C++ 托管扩展编程 
    --------------------------------------------------------------------------------发送有关此主题的意见 &copy; 2001-2002 Microsoft Corporation。保留所有权利。 
      

  2.   

    .NET Framework 类库   PrinterUnitConvert.Convert 方法  [C#]请参见
    PrinterUnitConvert 类 | PrinterUnitConvert 成员 | System.Drawing.Printing 命名空间 | C++ 托管扩展编程 
    语言
    C#C++JScriptVisual Basic全部显示
    将值从一种 PrinterUnit 类型转换为另一种 PrinterUnit 类型。重载列表
    将双精度浮点数字从一种 PrinterUnit 类型转换为另一种 PrinterUnit 类型。[Visual Basic] Overloads Public Shared Function Convert(Double, PrinterUnit, PrinterUnit) As Double
    [C#] public static double Convert(double, PrinterUnit, PrinterUnit);
    [C++] public: static double Convert(double, PrinterUnit, PrinterUnit);
    [JScript] public static function Convert(double, PrinterUnit, PrinterUnit) : double;
    将 32 位有符号整数从一个 PrinterUnit 类型转换为另一个 PrinterUnit 类型。[Visual Basic] Overloads Public Shared Function Convert(Integer, PrinterUnit, PrinterUnit) As Integer
    [C#] public static int Convert(int, PrinterUnit, PrinterUnit);
    [C++] public: static int Convert(int, PrinterUnit, PrinterUnit);
    [JScript] public static function Convert(int, PrinterUnit, PrinterUnit) : int;
    将 Margins 从一种 PrinterUnit 类型转换为另一种 PrinterUnit 类型。[Visual Basic] Overloads Public Shared Function Convert(Margins, PrinterUnit, PrinterUnit) As Margins
    [C#] public static Margins Convert(Margins, PrinterUnit, PrinterUnit);
    [C++] public: static Margins* Convert(Margins*, PrinterUnit, PrinterUnit);
    [JScript] public static function Convert(Margins, PrinterUnit, PrinterUnit) : Margins;
    将 Point 从一种 PrinterUnit 类型转换为另一种 PrinterUnit 类型。[Visual Basic] Overloads Public Shared Function Convert(Point, PrinterUnit, PrinterUnit) As Point
    [C#] public static Point Convert(Point, PrinterUnit, PrinterUnit);
    [C++] public: static Point Convert(Point, PrinterUnit, PrinterUnit);
    [JScript] public static function Convert(Point, PrinterUnit, PrinterUnit) : Point;
    将 Rectangle 从一种 PrinterUnit 类型转换为另一种 PrinterUnit 类型。[Visual Basic] Overloads Public Shared Function Convert(Rectangle, PrinterUnit, PrinterUnit) As Rectangle
    [C#] public static Rectangle Convert(Rectangle, PrinterUnit, PrinterUnit);
    [C++] public: static Rectangle Convert(Rectangle, PrinterUnit, PrinterUnit);
    [JScript] public static function Convert(Rectangle, PrinterUnit, PrinterUnit) : Rectangle;
    将 Size 从一种 PrinterUnit 类型转换为另一种 PrinterUnit 类型。[Visual Basic] Overloads Public Shared Function Convert(Size, PrinterUnit, PrinterUnit) As Size
    [C#] public static Size Convert(Size, PrinterUnit, PrinterUnit);
    [C++] public: static Size Convert(Size, PrinterUnit, PrinterUnit);
    [JScript] public static function Convert(Size, PrinterUnit, PrinterUnit) : Size;
    请参见
    PrinterUnitConvert 类 | PrinterUnitConvert 成员 | System.Drawing.Printing 命名空间 | C++ 托管扩展编程 
    --------------------------------------------------------------------------------发送有关此主题的意见 &copy; 2001-2002 Microsoft Corporation。保留所有权利。 
      

  3.   

    你可能没明白我的意思,你可以试一下,例如:打印页面设置中左边距显示10(毫米),这时.PageSettings.Margins.Left的值是39,而如果你把39再赋值回.PageSettings.Margins.Left,则打印页面中左边距显示3.9
    我估计是微软没把赋值和获取这个属性的计量单位统一