繁体   English   中英

如何在C#中锁定Windows窗体以使其始终最大化?

[英]How to lock a windows form in c# to be always be maximized?

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

保持FormBorderStyle = Sizable 设置MaximizeBox = falseMinimizeBox = 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;
            }
        }
    }
}

使用此代码的原因是,用户仍然可以通过按住其标题栏来拖动窗口。 _changing变量可防止LocationChanged事件处理程序在无限循环中触发自身。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM