我在我的調試應用程序中使用此代碼。 我將調試屏幕設置爲環境變量DEBUG_SCREEN。
#if DEBUG
if (Debugger.IsAttached)
{
int debugScreen;
if (int.TryParse(Environment.GetEnvironmentVariable("DEBUG_SCREEN") ?? string.Empty, out debugScreen))
{
Application.OpenForms[0].MoveToScreen(debugScreen);
}
}
#endif
您可以使用您的主窗體而不是Application.OpenForms [0]。
的方法MoveToScreen是從亞歷克斯斯特里克蘭: https://stackoverflow.com/a/34263234/3486660
public static bool MoveToScreen(this System.Windows.Forms.Form form, int screenNumber)
{
var screens = Screen.AllScreens;
if (screenNumber >= 0 && screenNumber < screens.Length)
{
var maximised = false;
if (form.WindowState == FormWindowState.Maximized)
{
form.WindowState = FormWindowState.Normal;
maximised = true;
}
form.Location = screens[screenNumber].WorkingArea.Location;
if (maximised)
{
form.WindowState = FormWindowState.Maximized;
}
return true;
}
return false;
}
同意。我希望我*可以期待VS來處理它,因爲我正在對遺留應用程序的工作範圍太小,以至於無法進行此更改。 +1爲前瞻性答案。 –