禁用关闭按钮

本文关键字:关闭按钮 | 更新日期: 2023-09-27 18:27:19

我有一个表格,用户可以在游戏开始时使用它来选择级别。我想禁用关闭按钮,这样用户就无法关闭表单(用户会单击一些按钮来选择级别)。

如果没有使用点击按钮,我可以阻止用户关闭表单

    bool _Next = false;
    public Form1()
    {
        InitializeComponent();
        button1.Click += new EventHandler(button_Click);
        button2.Click += new EventHandler(button_Click);
        button3.Click += new EventHandler(button_Click);
    }
    void button_Click(object sender, EventArgs e)
    {
        Button btn = (Button)sender;
        if (btn == button1)
        {
            Level(1);
        }
        else if (btn == button2)
        {
            Level(2);
        }
        else if (btn == button3)
        {
            Level(3);
        }
        _Next = true;
    }
    private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
        if (_Next == true)
        {
        }
        else
        {
            e.Cancel = true;
        }
    }

这很长。我想知道是否有任何方法可以禁用或隐藏表单关闭按钮

禁用关闭按钮

您可以使用隐藏表单的控件

this.ControlBox = false;

以上将删除右上角的maximizeminimizeclose button

当您在属性选项卡上选择表单本身时,也可以在Visual Studio上访问上述内容。

您可以覆盖OnClosing方法:

protected override void OnClosing(CancelEventArgs e)
{
    if (!_Next)
    {
        e.Cancel = true;
    }
}

您已经禁用了关闭按钮。在FormClosing活动中,您取消活动:

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
    e.Cancel = true;
}

此代码运行良好;我只是测试了一下以确定。