有没有办法设置控件的高度的单位?比如设置成公制的,毫米,厘米 等等。

解决方案 »

  1.   

    下面的代码把控件的高度设置为2厘米
    using (Graphics g = Graphics.FromHwnd(this.Handle))
    {
    this.Height = (int)(2 / 2.54 * g.DpiX);
    }
      

  2.   

    因为屏幕的分辨率的问题,可能你看到的高度不是2厘米,但是对于一个屏幕来说,它的实际尺寸和DPI(每英寸的点数)决定的.一个显示器一般来说调整到它支持的最大分辨率的时候最接近实际的大小尺寸,所以,你看到的如果和实际相差很远,可以把显示器调整到最高的分辨率再看一下是不是接近实际的尺寸了.
      

  3.   

    我想把单位调整为厘米,是在设计CrystalReport时用到的,当需要精确控制每行的高度,用系统中的DPI单位相当不方便。
      

  4.   

    设计Crystal report时候,比如每行实际高度是 1 cm,可是对应crystalreport的高却是540左右,不知是如何换算的。
      

  5.   

    CrystalReport
    你应该能得到打印机的分辨率,DPI.如果可能的话,可以参考这个API:[DllImport("gdi32.dll", CharSet=CharSet.Auto, SetLastError=true, ExactSpelling=true)]
    public static extern int GetDeviceCaps(IntPtr hDC, int nIndex);