새 창을 호출 한 곳과 동일한 창에 새 양식을 표시하려고합니다. 나는 아래와 같은 코드에 의해이 PrimaryScreen에 양식이나 가상 화면 표시 할 수있는 방법을 알고 :C#에서 현재 화면에 양식을 표시하는 방법은 무엇입니까?
MyForm.Location = Screen.PrimaryScreen.Bounds.Location;
을하지만 난 현재 화면에 보여주고 싶다. 현재 화면에서 찾아서 표시하는 방법이 있습니까?
새 창을 호출 한 곳과 동일한 창에 새 양식을 표시하려고합니다. 나는 아래와 같은 코드에 의해이 PrimaryScreen에 양식이나 가상 화면 표시 할 수있는 방법을 알고 :C#에서 현재 화면에 양식을 표시하는 방법은 무엇입니까?
MyForm.Location = Screen.PrimaryScreen.Bounds.Location;
을하지만 난 현재 화면에 보여주고 싶다. 현재 화면에서 찾아서 표시하는 방법이 있습니까?
은 동일한 기술을 사용하지만, 대신 PrimaryScreen를 사용하는 Screen.FromPoint 및 Cursor.Position을 사용하여 화면 잡아 수 있습니다
Screen screen = Screen.FromPoint(Cursor.Position);
MyForm.Location = screen.Bounds.Location;
나는 이것을 시도했다. 그러나 여전히 새 양식이 기본 화면에 표시되며 양식 크기가 약간 짧아집니다. 커서가 놓여있는 화면이 기본 화면인지 표시하려고했는데 올바른 대답을 얻었습니다. 그러나 위치를 지정할 때 제대로 할당되지 않습니다. – Sam
당신이 수동으로 startPosition입니다 설정되지 않은 것 소리를.
나는 내 양식이 현재 화면 중앙에 표시하려면이 같은 짓을 : 당신은 이미 부모 폼을 같은 화면에 새 양식을 열려면, ShowDialog 메서드를주는 경우에
var screen = Screen.FromPoint(Cursor.Position);
myForm.StartPosition = FormStartPosition.Manual;
myForm.Left = screen.Bounds.Left + screen.Bounds.Width/2 - myForm.Width/2;
myForm.Top = screen.Bounds.Top + screen.Bounds.Height/2 - myForm.Height/2;
상위 폼에 대한 참조 : newForm.ShowDialog(this);
소유자 매개 변수가 없으면 ("this
") 상위 폼이 다른 스크린에있는 경우에도 새 폼이 주 화면에서 열릴 수 있습니다.
활성 화면에서 양식을 열어야합니다. StartPosition의 더 많은 값은 this을 참조하십시오.
응용 프로그램의 기본 형식입니까, 아니면 소유자가 있습니까? –
표시된 양식을 새 양식으로 바꾸시겠습니까? 당신이 마법사를하고있는 것처럼? – Robaticus