   C# Making a 3d editor - resizable panes
  Hi all,I've searched high and low and couldn't find an easy solution to this problem. Basically, I want to make a 3d editor that has a 4-pane view of the scene (similar to Max3ds, Maya, Hammer, XSI Mod Tool, etc etc etc).Using C# windows forms, I can make a cheesy version of a 4-way split by putting vertical split containers within a horizontal split container (or visa versa).  However, if I resize the split container on the top, the bottom doesn't change (unless I make an event to update after the top has been changed (again this doesn't look good)Here's what I want it to do (assuming I'm using split panes in the order I said above):1. If the user grabs one of the vertical split panes to resize ( either top or bottom), both split panes show a "resizing" bar and then resize together upon unclick.2. If the user grabs the horizontal bar, it should resize all 4 pane's height ( this is a given since its the parent split container)3. If the user grabs the cross section of the vertical and horitonal bars, the user should be able to freely resize the panes (again, like Max or Maya).Here's my theory on how to do it:Basically, don't allow the split panes to be resizable.  Then use OnClick, OnRelease, OnMove events to track the user actions and draw a rectangle the size of the splitter over the controls (if that can be done).  Then after the user releases, update the splitter distances of all 3 split panes to the new X/Y coordinates.I wanted to ask to see if anyone had a different (and reasonable way) of resizing 4 panes similar to this.  I was really hoping that WindowsForms would allow me to just select 4-way split instead of just horizontal or vertical :SMany thanks,.ilarion   
  Dunno if it's an option, but what you're describing is really easy in wpf. don't need to write a line of code<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">  <Grid.ColumnDefinitions>    <ColumnDefinition Width="*" />    <ColumnDefinition Width="5" />    <ColumnDefinition Width="*" />  </Grid.ColumnDefinitions>  <Grid.RowDefinitions>    <RowDefinition Height="*" />    <RowDefinition Height="5" />    <RowDefinition Height="*" />  </Grid.RowDefinitions>  <GridSplitter Grid.ColumnSpan="3" Grid.Column="0" Grid.Row="1" ResizeDirection="Rows" HorizontalAlignment="Stretch" Height="5" />  <GridSplitter Grid.Column="1" Grid.RowSpan="3" Width="5" HorizontalAlignment="Stretch" />  <StackPanel Background="Red" />  <StackPanel Background="Blue"    Grid.Column="2" />  <StackPanel Background="Green"    Grid.Row="2" />  <StackPanel Grid.Column="2"    Grid.Row="2" /></Grid>;  Hm, I'll keep it open as an option, but so far I'm still leaning toward my way (which is in C#).Thanks for the input though..ilarion   ;  WPF is c#. It's simply a different GUI toolkit from MS.what I showed was the xaml declaration of the screen layout. The code itself is in c#.   