不要問爲什麼,但我需要在TableLayoutPanel
中的某些單元格周圍繪製邊框。在桌面上的某些單元格周圍繪製邊框佈局面板
例如,爲了簡單起見,可以說我有1行5列TableLayoutPanel
。每個單元格中都有一個按鈕。我想圍繞前3個單元繪製一個框,然後圍繞最後2個單元繪製另一個框。所以總共兩個盒子。
關於如何完成這一任何建議?
謝謝。在需要的時候
不要問爲什麼,但我需要在TableLayoutPanel
中的某些單元格周圍繪製邊框。在桌面上的某些單元格周圍繪製邊框佈局面板
例如,爲了簡單起見,可以說我有1行5列TableLayoutPanel
。每個單元格中都有一個按鈕。我想圍繞前3個單元繪製一個框,然後圍繞最後2個單元繪製另一個框。所以總共兩個盒子。
關於如何完成這一任何建議?
謝謝。在需要的時候
你可以使用CellPaint
事件,並繪製邊框的矩形:
tableLayoutPanel1.CellPaint += tableLayoutPanel1_CellPaint;
的處理程序:
void tableLayoutPanel1_CellPaint(object sender, TableLayoutCellPaintEventArgs e)
{
if (e.Column == 1 && e.Row == 0)
e.Graphics.DrawRectangle(new Pen(Color.Blue), e.CellBounds);
}
可以使用ControlPaint
得出任何邊界的:
if (e.Column == 1 && e.Row == 0)
{
var rectangle = e.CellBounds;
rectangle.Inflate(-1, -1);
ControlPaint.DrawBorder3D(e.Graphics, rectangle, Border3DStyle.Raised, Border3DSide.All); // 3D border
ControlPaint.DrawBorder(e.Graphics, rectangle, Color.Red, ButtonBorderStyle.Dotted); // dotted border
}
正是我所需要的!乾杯! – 2011-06-04 22:47:02
我可以將它用於方法嗎?例如,我將定義像PaintDesiredCell(int columnOrder,int rowOrder){// codes}這樣的方法?可能嗎? – 2013-10-31 12:50:05
我喜歡在調試時使用它。在IronPython中使用dot Net,我沒有GUI生成器,所以在試圖查找錯誤時能夠看到網格有幫助。我使用調試開關來確定是否連接單元格事件處理程序。 – 2014-11-19 11:38:04
訪問tableLayoutPanel和Set t的屬性他CellBorderStyle單一
爲什麼? ....... :) – Nick 2017-01-18 10:19:59