我有一個問題。 我有一個tableLayoutPanel與2行和2列。第一柱是空的,而第二柱是一些東西。我知道檢測到一個被點擊的單元格,但我不知道如何用紅色科羅爾填充這個單擊的單元格。 有些建議?這裏是我的代碼:如何在鼠標點擊後用顏色填充單元格?
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
這是繪製特定單元的良好開端。它是由paint事件引發的,所以我們將不得不將其擴展到單元格單擊工作.. [Stack Overflow Thread](http://stackoverflow.com/questions/14877012/changing-cell-colours-of-a -tablelayoutpanel-by-variables-during-runtime) –
[這裏是另一個鏈接](http://stackoverflow.com/questions/35404110/mouse-move-on-a-cell-of-my-tablelayoutpanel/35410059?s = 3 | 2.0026#35410059)你可能會覺得有用 – TaW