0

ゲームの開始時にユーザーがレベルを選択するために使用するフォームがあります。ユーザーがフォームを閉じることができないように閉じるボタンを無効にしたい (ユーザーはいくつかのボタンをクリックしてレベルを選択します)。

ボタンがクリックされていない場合、ユーザーがフォームを閉じないようにすることができました

    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;
        }
    }

これはかなり長いです。フォームの閉じるボタンを無効または非表示にする方法があるかどうか知りたい

4

2 に答える 2

0

あなたはすでに閉じるボタンを無効にしています。あなたのイベントでは、FormClosingイベントをキャンセルします:

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

このコードは完全に機能します。確認のためにテストしただけです。

于 2013-08-11T23:28:04.207 に答える