有没有一种方法可以控制屏幕窗口的最大空间,在C?

最佳答案

要限制应用程序窗口的大小,请使用Form.MaximizedBounds属性。可以使用Screen类来获取当前(或其他)屏幕的边界。
例如,这会将窗体最大化到主屏幕的左半部分:

public partial class MyForm : Form
{
    public MyForm()
    {
        InitializeComponent();

        // set width to 1/2 of screen
        Rectangle screenBounds = Screen.PrimaryScreen.Bounds;
        screenBounds.Width = screenBounds.Width / 2;
        this.MaximizedBounds = screenBounds;

        // maximize
        this.WindowState = FormWindowState.Maximized;
    }
}

[编辑]
如果要将窗口停靠在屏幕的一侧并限制其他应用程序的剩余桌面区域,
您可能对通过WindowsAPI注册自定义AppBar感兴趣。
检查以下链接:
微软:Creating an Application Desktop Toolbar
代码项目:AppBar using C#
代码项目:C# does Shell, Part 3

07-27 13:20