텍스트 상자가있는 응용 프로그램이 있고 화면의 텍스트 상자 너비는 항상 사용자 화면에서 17.5cm가되어야합니다.텍스트 상자에 17,5 cm의 고정 너비를 지정하는 방법은 무엇입니까?
const double centimeter = 17.5; // the width I need
const double inches = centimeter * 0.393700787; // convert centimeter to inches
float dpi = GetDpiX(); // get the dpi. 96 in my case.
var pixels = dpi*inches; // this should give me the amount of pixels
textbox1.Width = Convert.ToInt32(pixels); // set it. Done.
private float GetDpiX()
{
floar returnValue;
Graphics graphics = CreateGraphics();
returnValue = graphics.DpiX;
graphics.Dispose(); // don’t forget to release the unnecessary resources
return returnValue;
}
그러나 이것은 나에게 다른 해상도를 가진 다른 크기를 제공합니다
이것은 내가 지금까지 시도 것입니다.
그것은 1024 X 768으로 1,680 1,050 X 및 21,5 cm 날 을 13 cm을 준다.
내가 뭘 잘못하고 있니?
"화면의 텍스트 상자는 항상 사용자 화면에서 17.5cm가되어야합니다." - 그게 특이한 요구 사항입니다 .... –
그래 ... 맞아. 당신의 의뢰인이 당신에게이 요구 사항을 주었다면, 그는 그 사람에게 '지각 (tard)'이라고 말하십시오. – mpen
이상한 요구 일지 모르지만 재미있는 질문은 없습니다. 수동으로 화면 해상도를 설정하고 수동으로 DPI를 계산하고 GetDpiX() 및 GetDpiY()의 출력과 일치하는지 확인하는 방법은 무엇입니까? 모든 모니터가이 기능을 지원하지 않을 수도 있습니다. – Bryan