화면 크기를 얻을 수있는 방법은 몇 가지가 있습니다.
가장 완벽한 방법은 SystemMetrics
이며 "coredll.dll"에서 P/호출해야합니다.
[DllImport("coredll.dll")]
public static extern int GetSystemMetrics(SYSTEM_METRICS nIndex);
다음과 같이 열거 형식을 만들려면 다음 다음과 같이이 프레임 워크와
public enum SYSTEM_METRICS : int
{
SM_CXSCREEN = 0,
SM_CYSCREEN = 1,
SM_CXVSCROLL = 2,
SM_CYHSCROLL = 3,
SM_CYCAPTION = 4,
SM_CXBORDER = 5,
SM_CYBORDER = 6,
SM_CXDLGFRAME = 7,
SM_CYDLGFRAME = 8,
SM_CXICON = 11,
SM_CYICON = 12,
SM_CYMENU = 15,
SM_CXFULLSCREEN = 16,
SM_CYFULLSCREEN = 17,
SM_MOUSEPRESENT = 19,
SM_CYVSCROLL = 20,
SM_CXHSCROLL = 21,
SM_DEBUG = 22,
SM_CXDOUBLECLK = 36,
SM_CYDOUBLECLK = 37,
SM_CXICONSPACING = 38,
SM_CYICONSPACING = 39,
SM_CXEDGE = 45,
SM_CYEDGE = 46,
SM_CXSMICON = 49,
SM_CYSMICON = 50,
SM_XVIRTUALSCREEN = 76,
SM_YVIRTUALSCREEN = 77,
SM_CXVIRTUALSCREEN = 78,
SM_CYVIRTUALSCREEN = 79,
SM_CMONITORS = 80,
SM_SAMEDISPLAYFORMAT = 81,
SM_CXFIXEDFRAME = 7,
SM_CYFIXEDFRAME = 8
}
모든 설정하면, 당신은 단순히 예를 들어 폭을 얻을 수 있습니다 :
int screenWidth = GetSystemMetrics(SYSTEM_METRICS.SM_CXSCREEN);
Console.WriteLine(String.Format("Screen X-res is {0}", screenWidth));
게으르 길 원한다면, 프로젝트가로드되었을 때 메인 폼의 너비와 높이를 읽는 것만 큼 간단한 해결책이 될 것입니다.
물론 폼을 조정하기 전에 너비와 높이를 읽는 것이 분명히 화면에 깜박일 것입니다.
고마워요 @ jp2code, 그게 내가 왜 게으름에 의해 :) 필요하지만 솔루션의 단순함 덕분에! – igarcia