I have Dual Monitors and want displaying a windows form in the center of the screen. (I have a variable MonitorId=0 or 1).
I have:
System.Windows.Forms.Screen[] allScreens=System.Windows.Forms.Screen.AllScreens;
System.Windows.Forms.Screen myScreen = allScreens[0];
int screenId = RegistryManager.ScreenId;
// DualScreen management
if (screenId > 0)
{
// has 2nd screen
if (allScreens.Length == 2)
{
if (screenId == 1)
myScreen = allScreens[0];
else
myScreen = allScreens[1];
}
}
this.Location = new System.Drawing.Point(myScreen.Bounds.Left, 0);
this.StartPosition = FormStartPosition.CenterScreen;
But this code does not seem to work each time... It displays the form every time on the main screen only.
if (screen.WorkingArea.Contains(this.Location))
) but in dependence of thescreeenID
– Phillida