如何使Windows窗体仅在主屏幕上打开

时间:2018-07-20 11:33:53

标签: c# .net winforms mainscreen

我正在编写一个简单的Windows窗体应用程序。 我希望该窗体仅在主屏幕中打开,而不管在哪个屏幕上调用了应用程序(假设用户有多个屏幕)。 主屏幕的目的是用于显示Windows任务栏的屏幕。

谢谢,Maor。

2 个答案:

答案 0 :(得分:3)

您可以尝试以下方法:

/// <summary>
/// Sets the location of the form to primary screen.
/// </summary>
/// <param name="this">Instance of the form.</param>
/// <param name="x">The x coordinate of the form's location.</param>
/// <param name="y">The y coordinate of the form's location.</param>
public static void SetPrimaryLocation(this Form @this, int x = 0, int y = 0)
{
    var rect = Screen.PrimaryScreen.WorkingArea;
    @this.Location = new Point(rect.X + x, rect.Y + y);
}

答案 1 :(得分:-1)

您应将主窗体的IsMdiParent属性设置为yes。

当您显示其他表格时,您应该像这样显示它们:

    private void MainForm_Load(object sender, EventArgs e)
    {
        Form2 frm = new Form2();
        frm.MdiParent = this;
        frm.Show();
    }

这将在您的主窗体中打开Form2。