У меня проблема. У меня есть таблицаLayoutPanel с 2 строками и 2 колонками. Первый colum пуст, а во втором - что-то. Я знаю, что обнаружил ячейку, на которую была нажата кнопка, но я не знаю, как я могу заполнить эту клетку с щелчком красным цветом. Некоторые предложения? Вот мой код:Как заполнить ячейку цветом после щелчка мыши?
private void tableLayoutPanel1_MouseClick(object sender, MouseEventArgs e)
{
int row = 0;
int verticalOffset = 0;
foreach (int h in tableLayoutPanel1.GetRowHeights())
{
int column = 0;
int horizontalOffset = 0;
foreach (int w in tableLayoutPanel1.GetColumnWidths())
{
Rectangle rectangle = new Rectangle(horizontalOffset, verticalOffset, w, h);
if (rectangle.Contains(e.Location))
{
MessageBox.Show(String.Format("row {0}, column {1} was clicked", row, column));
return;
}
horizontalOffset += w;
column++;
}
verticalOffset += h;
row++;
}
}
Да, я использую winforms – Miloss
Вот хороший старт по покраске конкретной ячейки. Однако это вызвано событием рисования, поэтому нам придется расширить его для работы с щелчком ячейки .. [Переполнение стека] (http://stackoverflow.com/questions/14877012/changing-cell-colours-of-a -tablelayoutpanel-by-variables-while-runtime) –
[Вот еще одна ссылка] (http://stackoverflow.com/questions/35404110/mouse-move-on-a-cell-of-my-tablelayoutpanel/35410059?s = 3 | 2.0026 # 35410059) вы можете найти полезным – TaW