I find the table layout panel in c# (.net 2.0) to be very primitive. I wanted to allow my users to resize the columns in a table layout panel but there are no ready made opt
Building on top of @Fredrik Mörk's solution:
After embedding another SplitContainer(s), the only drawback is that they don't automatically resize together, so you quickly lose the tabular view. A solution could be to set up a SplitterMoved
event handler for every applicable SplitContainer:
private void mySplitContainer_SplitterMoved(object sender, SplitterEventArgs e) {
mOtherySplitContainer.SplitterDistance = e.SplitX;
}
If your SplitContainer is horizontal use e.SplitX
, if it's vertical use e.SplitY
.
If your layout is not overly complex, maybe you can achieve what you want by using SplitContainer controls? Unfortunately, each SplitContainer will have only two "cells", but you can embed a SplitContainer in another SplitContiner panel to get more resizable cells:
┌──────────────────┐
│┌─────┬──────────┐│
││ │ ││
││ │ ││
│└─────┴──────────┘│
├──────────────────┤
│┌──────────┬─────┐│
││ │ ││
││ │ ││
│└──────────┴─────┘│
└──────────────────┘
OK, so ASCII art was never one of my stronger skills, but I think you get the point ;o)