Как в Winforms запретить нажатие одной кнопки до нажатия другой?

Господа, изучая С#, не осознаю, как реализовать такую задачу. У меня есть форма с двумя кнопками. Пусть нажатие на button1 определяет N = 2, а на button2 определяет N = 10.

Вопрос: как запретить пользователю нажимать на кнопку button2, пока хотя бы один раз не нажата кнопка button1?

Вообще, задумка такая.

Программа запускается: пользователю доступна для нажатия только button1. Нажать на button2 изначально нельзя, потому что она "вдавлена". Пользователю ничего не остается, кроме как нажать на button1. После нажатия на button1, "вдавливается" button1, а button2 "оживает", и нажать на нее уже можно.

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public
            int N;

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            N = 2;
            button1.Enabled = false;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            N = 10;
            button2.Enabled = false;
        }
    }
}

Ответы (1 шт):

Автор решения: aepot

Button.Enabled управляет активностью кнопки, такое же свойство есть и у других контролов.

public Form1()
{
    InitializeComponent();
    button2.Enabled = false;
}

private void button1_Click(object sender, EventArgs e)
{
    button1.Enabled = false;
    button2.Enabled = true;
    N = 2;
}

private void button2_Click(object sender, EventArgs e)
{
    button2.Enabled = false;
    button1.Enabled = true;
    N = 10;
}

Таким образом для нажатия будет доступна только одна из 2 кнопок. Но если вам нужно больше кнопок, я не рекомендую использовать этот метод выбора значения для переменной, лучше использовать RadioButton (ссылка).

→ Ссылка