2016-06-20 3 views
1

저는 지금 블랙 잭 카드 게임을 작성 중이며 조금 문제가 있습니다. 나는 멋진 배경을 가지고 있고, 그 위에 칩이 있고, 바닥에서 조금 더 올라간다. 나는 플레이어가 내기를 올리기 위해 특정 칩을 클릭 할 수 있기를 원한다. 문제는 내가 누군가와 다른 화면 해상도로 재생할 경우 버튼으로 사용하는 투명 상자를 변경해야한다는 것입니다. Screen.PrimaryScreen.Bounds.Height/Width를 숫자로 나누어 시도했지만 여전히 완벽하지는 않습니다. 크기 조정에 관계없이 무언가의 위치를 ​​정확하게 설정하는 방법이 있습니까? 아니면 플레이어에게 특정 해상도를 적용해야합니까? 그렇다면 어떻게 해상도를 설정할 수 있습니까?Windows Form - 화면 해상도에 따라 위치와 크기가 변경됩니다.

+0

지금 어떻게하고 있는지 보여주는 코드를 게시 할 수 있습니까? 일반적으로 해상도를 강요하지 않지만 윈도우의 높이/너비는 최소/최대로 설정하십시오. 그런 다음 컨트롤의 'Anchor'속성을 가지고 놀고 원하는 곳에 머물도록하십시오. – DrewJordan

답변

0

좋아, 생각 해냈어. 내가해야 할 일은 두 가지 변수를 추가하고 1600 × 900의 화면 해상도 비율을 계산하는 것이었다. 이런 식으로 뭔가 :

double ws = Screen.PrimaryScreen.Bounds.Width/1600; 
double hs = Screen.PrimaryScreen.Bounds.Height/900; 

가 그럼 난 SetBounds()를 사용하여 패널의 경계를 설정하고 나는 X를 계산하려면 setbounds에서, y는 다음 int로 변환 규모를 사용하여 조정합니다. 반올림으로 인해 픽셀이 약간 떨어져 있지만 허용됩니다.

관련 문제