Open kokojambaf opened 4 days ago
public partial class MultiplicationTableForm : Form { public MultiplicationTableForm() { InitializeComponent(); }
private void MultiplicationTableForm_Load(object sender, EventArgs e)
{
// Настройка DataGridView
dataGridView1.ColumnCount = 11; // 10 столбцов для множителей и 1 для заголовков
dataGridView1.RowCount = 11; // 10 строк для множителей и 1 для заголовков
// Запрещаем редактирование данных в таблице
dataGridView1.AllowUserToAddRows = false;
dataGridView1.AllowUserToDeleteRows = false;
dataGridView1.AllowUserToOrderColumns = false;
dataGridView1.ReadOnly = true;
// Настройка фона DataGridView на белый
dataGridView1.BackgroundColor = Color.White;
// Устанавливаем ширину столбцов и строк, чтобы они заполнили таблицу
dataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.Fill);
dataGridView1.AutoResizeRows(DataGridViewAutoSizeRowsMode.AllCells);
// Заполняем первую строку и первый столбец для множителей
for (int i = 1; i <= 10; i++)
{
dataGridView1.Rows[0].Cells[i].Value = i.ToString(); // Первая строка для множителей
dataGridView1.Columns[i].HeaderText = i.ToString(); // Первая колонка для множителей
dataGridView1.Rows[i].HeaderCell.Value = i.ToString(); // Первая колонка для множителей
}
// Заполняем таблицу результатами умножения
for (int row = 1; row <= 10; row++)
{
for (int col = 1; col <= 10; col++)
{
int result = row * col;
dataGridView1.Rows[row].Cells[col].Value = result.ToString();
}
}
// Подписываемся на событие клика по ячейке
dataGridView1.CellClick += DataGridView1_CellClick;
}
// Обработчик клика по ячейке
private void DataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
// Проверяем, что клик был по числовым данным (не по заголовкам)
if (e.RowIndex > 0 && e.ColumnIndex > 0)
{
// Извлекаем множители из заголовков строки и столбца
int firstMultiplier = int.Parse(dataGridView1.Rows[e.RowIndex].HeaderCell.Value.ToString());
int secondMultiplier = int.Parse(dataGridView1.Columns[e.ColumnIndex].HeaderText);
// Результат умножения
int result = firstMultiplier * secondMultiplier;
// Выводим результат в MessageBox
MessageBox.Show($"{firstMultiplier} x {secondMultiplier} = {result}");
}
}
}
public partial class MultiplicationTableForm : Form { public MultiplicationTableForm() { InitializeComponent(); }
}