2013-05-10 3 views
-1

C# WinForms 앱을 작성한 후 문제없이 작동하는 여러 대의 PC에서 테스트했습니다. 할머니에게 설치했을 때, 프로그램의 상단 (최소화, 최대화 및 종료 버튼 포함)이 끊어졌습니다. 더 나쁜 것은 프로그램을 옮기기 때문에 양식을 움직여서 버튼을 보여줄 수 없었습니다. 상단을 클릭해야합니다. alt> tab> 이동을 시도했지만 커서가 화면 위쪽에 있었으므로 맨 위에 커서를 놓으려고했습니다.위로 가기 화면을 여는 중

그녀의 PC에서 스크린 샷을 가져올 수 없었습니다. 오류를 재현하기 위해 그녀와 함께 있지 않습니다. 이 문제를 일으키는 원인을 알았습니까? 다른 사용자에게 발생하지 않는다고 보장 할 수있는 방법은 있습니까?

+0

글쎄, 나타나는 양식은 * 어디에 있습니까? WinForms 양식이 화면에 나타나는 위치를 제어 할 수 있습니다. – svinja

+2

프로젝트의 StartPosition은 무엇입니까? 할머니의 모니터가 귀하의 응용 프로그램 크기에 맞게 작습니까? – Tomtom

+0

응용 프로그램이 화면 가운데에 열리고 할머니의 해상도가 작은 경우에는 창 사각형을 확인하고 SetWindowPos를 사용하여 0으로 이동하고 음수 인 경우 0을 입력하십시오 – Sayse

답변

0

좋아요, 제 신청서와 여러 컨트롤의 크기를 조정했습니다. 폼이 컴퓨터의 해상도보다 크기 때문에 폼의 크기를 조정할 수 없기 때문에 버그가 발생한 것 같습니다. 이제 폼에서 컨트롤의 크기 조절을 구현 했으므로 크기 조정이 활성화되고 양식이 올바르게 표시됩니다.

모두 잘되었습니다. D. 의견을 보내 주셔서 감사합니다.

0

응용 프로그램의 왼쪽 위 모서리를 화면의 왼쪽 위 모퉁이에 설정하는 방법을 보여주는 작은 응용 프로그램을 만들었습니다.

public partial class Form1 : Form 
{ 
public Form1() 
{ 
this.InitializeComponent(); 
this.StartPosition = FormStartPosition.CenterScreen; 
this.LocationChanged += OnLocationChanged; 
} 
private void OnLocationChanged(object sender, EventArgs eventArgs) 
{ 
Screen screen = Screen.FromHandle(this.Handle); 
if (!screen.WorkingArea.Contains(this.Location)) 
this.Location = screen.Bounds.Location; 
} 
} 
+0

참고로, 화면 경계가 너무 커서 화면이 여전히 너무 길면 OP가 여전히 최대화되지 않을 수 있습니다. – Sayse

관련 문제