2016-02-15 35 views

回答

1

TLP不是很好合作。

可以使用TableLayoutCellPaintEventArgs瞭解被塗細胞,同時光標的屏幕位置轉換成相對一個與PointToClient ..

下面是一個例子,但我不知道它如何妥善將適用於更大的TLP:

private void tableLayoutPanel1_MouseMove(object sender, MouseEventArgs e) 
{ 
    tableLayoutPanel1.Invalidate(); 
} 

private void tableLayoutPanel1_CellPaint(object sender, TableLayoutCellPaintEventArgs e) 
{ 
    Point pt = tableLayoutPanel1.PointToClient(Cursor.Position); 

    using (SolidBrush brush = new SolidBrush(e.CellBounds.Contains(pt) ? 
              Color.Red : tableLayoutPanel1.BackColor)) 
     e.Graphics.FillRectangle(brush, e.CellBounds); 
} 

這繪製光標結束的單元格,並在其離開時重置。如果你想保持改變的顏色,你需要將它存儲在一個2D數組中,並用它作爲替代顏色。細節將取決於你想要達到的目標。

您可能還需要研究this post更多地瞭解與合作的TLP ..

+0

感謝您的幫助TAW! – Sahbna