根据客户端屏幕大小调整数据表大小

时间:2014-02-25 18:12:18

标签: c# .net mobile datatable

我有一个使用c#在visual studio 2008,.net compact中构建的条形码扫描器应用程序。

    

我们正在多个设备上测试软件,MC9090和MC9190

MC9090 - 96 DPI,250屏幕尺寸 MC9190 - 192 DPI,460屏幕尺寸(约)

该应用程序是为MC9090构建的,现在我在MC9190上进行测试,但没有为应用程序编写代码 - 开发人员已离开

因此,MC9190中动态构建的数据表太小

我已经修复了表单上的背景图像,通过将picturebox的sizemode属性更改为StretchImage来根据设备的DPI调整大小

有没有办法为动态构建的数据表执行此操作?

我有一个名为cs_barcode2Sample1的条形码示例程序在两个设备上成功运行但不幸的是我没有.sln这个并且不知道从哪里得到它

任何帮助将不胜感激。
雷切

1 个答案:

答案 0 :(得分:0)

我通过找出设备的dpi并设置X和Y值来解决这个问题     

       using (Graphics g = this.CreateGraphics())
           {
               float dpiX = g.DpiX;
               float dpiY = g.DpiY;
            } 
    
然后基于此我执行一个简单的计算,通过设置其宽度和高度来调整设备的大小 所以标准DPI是96,所以我将设备DPI除以96     
        private static int dpiwidth = (int)(dpiX / 96);
        private static int dpiheight = (int)(dpiY / 96);
    

然后我通过将当前高度和宽度乘以dpiheight和dpiwidth设置高度,现在我的移动设备为每个设备重新调整大小     

          datatable.width = dpiwidth * 133;      - what ever your current width is
          datatable.rowheight = (int)(dpiheight * 32);