Разместите на форме ряд кнопок (Button). Создайте обработчики события
нажатия на данные кнопки, которые будут делать неактивными следующую
кнопку. Создайте обработчик события нажатия кнопки мыши на форме
(Click), который будет устанавливать все кнопки в активный режим.
Answers & Comments
В свойстве формы нужно создать метод Form1_Click как на скрине в приложении
Объяснение:
using System;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
private const int ButtonCount = 100; // Количество кнопок
private Button[] ButtonArray = new Button[ButtonCount];
public Form1()
{
InitializeComponent();
PlaceButtons();
}
private void PlaceButtons()
{
int x = 10;
int y = 10;
for (int i = 0; i < ButtonCount; i++)
{
ButtonArray[i] = new Button();
ButtonArray[i].Parent = Control.FromHandle(this.Handle);
ButtonArray[i].SetBounds(x, y, ButtonArray[i].Width, ButtonArray[i].Height);
ButtonArray[i].Click += Some_Button_Click;
ButtonArray[i].Text = "Кнопка " + (i + 1).ToString();
ButtonArray[i].Name = "B" + i.ToString();
ButtonArray[i].Show();
x += ButtonArray[i].Width + 10;
if ((x + ButtonArray[i].Width ) > this.Width) { y = y + ButtonArray[i].Height + 10; x = 10; }
}
}
private void Some_Button_Click(object sender, EventArgs e)
{
//throw new NotImplementedException();
int ButtonNumber = int.Parse(((Button)sender).Name.Substring(1));
if (ButtonNumber == ButtonCount - 1) return;
ButtonArray[ButtonNumber + 1].Enabled = false;
}
private void Form1_Click(object sender, EventArgs e)
{
for (int i = 0; i < ButtonCount; i++) ButtonArray[i].Enabled = true;
}
}
}