kokojambaf / pipirka228

0 stars 0 forks source link

hehdh #4

Open kokojambaf opened 4 days ago

kokojambaf commented 4 days ago

public partial class MultiplicationTableForm : Form { public MultiplicationTableForm() { InitializeComponent(); }

private void MultiplicationTableForm_Load(object sender, EventArgs e)
{
    // Настройка DataGridView
    dataGridView1.ColumnCount = 3;  // Три столбца: первый множитель, второй множитель, результат
    dataGridView1.RowCount = 10;    // 10 строк для множителей от 1 до 10

    // Заголовки столбцов
    dataGridView1.Columns[0].HeaderText = "Первый множитель";
    dataGridView1.Columns[1].HeaderText = "Второй множитель";
    dataGridView1.Columns[2].HeaderText = "Результат";

    // Установка ширины столбцов, чтобы они заполнили всю сетку
    dataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.Fill);

    // Запрещаем редактирование данных в таблице
    dataGridView1.AllowUserToAddRows = false;
    dataGridView1.AllowUserToDeleteRows = false;
    dataGridView1.AllowUserToOrderColumns = false;
    dataGridView1.ReadOnly = true;

    // Настроим фон DataGridView на белый
    dataGridView1.BackgroundColor = Color.White;

    // Заполнение таблицы данными
    for (int i = 0; i < 10; i++)
    {
        // Номер строки (1-10)
        dataGridView1.Rows[i].HeaderCell.Value = (i + 1).ToString();

        // Первый множитель
        dataGridView1.Rows[i].Cells[0].Value = (i + 1).ToString();

        // Второй множитель
        dataGridView1.Rows[i].Cells[1].Value = (i + 1).ToString();

        // Результат умножения
        dataGridView1.Rows[i].Cells[2].Value = ((i + 1) * (i + 1)).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].Cells[0].Value.ToString());
        int secondMultiplier = int.Parse(dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString());

        // Вычисляем результат
        int result = firstMultiplier * secondMultiplier;

        // Отображаем результат в окне сообщений
        MessageBox.Show($"{firstMultiplier} x {secondMultiplier} = {result}");
    }
}

}

kokojambaf commented 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}");
    }
}

}