我正在创建一个C#表单应用程序。我想在第二个屏幕上显示初始表单。我想在第一个屏幕上打开其他表单页面。两个屏幕之间存在分辨率差异。如何在第二个屏幕上显示初始表格,在主屏幕上显示其他五个表格?
答案 0 :(得分:3)
在窗户定位方面,没有"两个屏幕"但只有一个"工作区"。
这意味着如果您有两个相同的全高清屏幕,则工作区域为3840x1080(减去任务栏等等)。
如果您在Left = 200
和Top = 100
放置一个窗口,它将被放置在左侧屏幕左侧200像素处,如果您将其放置在Left = 2120
和Top = 100
它将被放置在右侧屏幕上的相同位置
对于所有工作,您需要使用StartPosition = FormStartPosition.Manual
。
答案 1 :(得分:0)
我已经使用过这种方法,希望它可以帮到你:
public void MaximizeToMonitor(Form frm, int monitorIndex)
{
try
{
Screen screen = Screen.AllScreens[monitorIndex];
if(screen != null)
{
frm.WindowState = FormWindowState.Normal;
var workingArea = screen.WorkingArea;
frm.Left = workingArea.Left + 10;
frm.Top = workingArea.Top + 10;
frm.Width = workingArea.Width + 10;
frm.Height = workingArea.Height + 10;
frm.WindowState = FormWindowState.Maximized;
}
}
catch (Exception ex)
{
MessageBox.Show($"Monitor does not exists. {Environment.NewLine}{ex.Message}");
}
}