2014-02-25 4 views
0

클라이언트 화면 크기에 따라 데이터 테이블 크기 조정

Visual Studio 2008에서 빌드 된 바코드 스캐너 응용 프로그램이 있습니다. C#을 사용하여 .net compact.

우리는 여러 장치에 소프트웨어를 테스트

, MC9090 및 MC9190

MC9090 - 96 DPI, 250 화면 크기 MC9190 - 192 DPI, 460 화면 크기 (약) 응용 프로그램은 이제 MC9090 및 위해 구축

나는 MC9190에서 테스트하고 있지만 응용 프로그램에 대한 코드를 작성하지 않은 - MC9190에 너무 작 개발자가 동적으로 건설되고 이것을 데이터 테이블의 결과로

떠난 것을

PictureBox의 sizemode 속성을 StretchImage로 변경하여 장치의 DPI에 따라 크기를 조정하는 양식의 배경 이미지를 수정했습니다.

동적으로 작성된 Datatables에 대해 이렇게하는 방법이 있습니까?

나는 cs_barcode2Sample1라는 바코드 샘플 프로그램이 성공적으로 두 장치에서 실행하지만 불행히도 내가

어떤 도움을 주시면 감사하겠습니다 얻을 어디에 있는지이의의 .sln을 해달라고 해달라고있다.
레이첼

답변

0

내가 장치 dpi가 무엇인지 알아내는 및 X를 설정하여이를 해결하고 Y는

 
     using (Graphics g = this.CreateGraphics()) 
      { 
       float dpiX = g.DpiX; 
       float dpiY = g.DpiY; 
      } 
그럼 I는 폭을 설정함으로써, 단말기의 크기를 조절하는 간단한 계산을 수행하는 자에 따라 값 및 높이 그래서 표준 DPI 96은 그래서 96
 
     private static int dpiwidth = (int)(dpiX/96); 
     private static int dpiheight = (int)(dpiY/96); 

이어서

I는 각 장치에 대한 현재 dpiheight 및 dpiwidth 의해 휴대 기기를 다시 크기를 현재의 높이와 폭을 곱하여 높이를 설정하여 장치 DPI 나뉘어져

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

관련 문제