Hallo,
ich habe ein TableLayoutPanel, das aus 2 Rows und aus 2 Columns besteht (=4 Zellen)
Bespiel:
a b
c d
Nun möchte ich jeweils unter a, b, c und d eine Linie als Rahmen haben.
Mit folgender Code habe ich den Rahmen unter a und b hinbekommen:
private void tableLayoutPanel2_CellPaint(object sender, TableLayoutCellPaintEventArgs e)
{
e.Graphics.DrawLine(new Pen(Color.Blue), new Point(e.CellBounds.X, e.CellBounds.Bottom), new Point(e.CellBounds.Right, e.CellBounds.Bottom));
}
So schaut das Ergebnis aus:
c d
Ich erwarte eigentlich, dass mir der selbe Code auch einen Rahmen unter c und d einfügt. Das tut er aber nicht. Was mache ich falsch? Für jede Hilfe/Verbesserung würde ich mich sehr freuen.
Das Ganze soll so ausschauen:
Hallo,
das wird daran liegen, daß du knapp unterhalb des TableLayoutPanels zeichnest.
Verwende mal testweise
e.CellBounds.Bottom - 1 // oder -2 etc.
Evtl. mußt du das TableLayoutPanel in der Höhe vergrößern und den unteren Margin erhöhen, damit du dann die Linien siehst.
Gibts doch nicht! Das lag tatsächlich daran und ich war schon am Verzweifeln. Vielen Dank für deine Hilfe.
Lösung:
Bottom -1
oder
Padding bei Bottom auf 1 setzten