如何在c#中锁定windows窗体以始终最大化?

如何在c#中锁定windows窗体以始终最大化?,c#,winforms,C#,Winforms,我正在开发一个windows窗体程序,我想使主窗体始终最大化,我试着将WindowsState设置为Maximized,FormBorderStyle设置为FixedDialog/FixedSingle,但maximize按钮仍然存在,所以我试着将MaximizeBox设置为false,但是表单是全屏的,它完全覆盖了任务栏,这就是问题所在,我不希望它位于任务栏上方。 如果有人知道该问题的解决方案或替代方案,请随时帮助我。保持FormBorderStyle=sizeable。设置MaximizeB

我正在开发一个windows窗体程序,我想使主窗体始终最大化,我试着将WindowsState设置为Maximized,FormBorderStyle设置为FixedDialog/FixedSingle,但maximize按钮仍然存在,所以我试着将MaximizeBox设置为false,但是表单是全屏的,它完全覆盖了任务栏,这就是问题所在,我不希望它位于任务栏上方。
如果有人知道该问题的解决方案或替代方案,请随时帮助我。

保持
FormBorderStyle=sizeable
。设置
MaximizeBox=false
MinimizeBox=false
。作为代码隐藏使用

public partial class frmFixedMaximized : Form
{
    private bool _changing;

    public frmFixedMaximized()
    {
        InitializeComponent();
        WindowState = FormWindowState.Maximized;
    }

    private void frmFixedMaximized_Shown(object sender, EventArgs e)
    {
        // Make resizing impossible.
        MinimumSize = Size;
        MaximumSize = Size;
    }

    private void frmFixedMaximized_LocationChanged(object sender, EventArgs e)
    {
        if (!_changing) {
            _changing = true;
            try {
                // Restore maximized state.
                WindowState = FormWindowState.Minimized;
                WindowState = FormWindowState.Maximized;
            } finally {
                _changing = false;
            }
        }
    }
}

这段代码的原因是用户仍然可以通过按住窗口的标题栏来拖动窗口。
\u changing
变量可防止
LocationChanged
事件处理程序在无休止的循环中触发自身。

保持
FormBorderStyle=sizeable
。设置
MaximizeBox=false
MinimizeBox=false
。作为代码隐藏使用

public partial class frmFixedMaximized : Form
{
    private bool _changing;

    public frmFixedMaximized()
    {
        InitializeComponent();
        WindowState = FormWindowState.Maximized;
    }

    private void frmFixedMaximized_Shown(object sender, EventArgs e)
    {
        // Make resizing impossible.
        MinimumSize = Size;
        MaximumSize = Size;
    }

    private void frmFixedMaximized_LocationChanged(object sender, EventArgs e)
    {
        if (!_changing) {
            _changing = true;
            try {
                // Restore maximized state.
                WindowState = FormWindowState.Minimized;
                WindowState = FormWindowState.Maximized;
            } finally {
                _changing = false;
            }
        }
    }
}

这段代码的原因是用户仍然可以通过按住窗口的标题栏来拖动窗口。
\u changing
变量可防止
LocationChanged
事件处理程序在无休止的循环中触发自身。

可能重复的可能重复的可能重复的非常感谢,我有拿着标题栏的问题,但我不想提及它,因为我不知道如何描述它,也不想让人们感到困惑。非常感谢,我有拿着标题栏的问题,但我不想提及它,因为我不知道如何描述它,我不想让人们感到困惑