One complaint which Java devs have of Swing (Java GUI) is that GUI components like Buttons etc have to be placed within containers and stuff. It is not possible to place components at absolute positions on the screen. Everything has to be relative to other components. How is it in .NET?
Any particular reason they've done that?
In .NET each control is independent of others. You have the option of grouping them together if you want. Each control has absolute position. Before .NET, this could cause some problems. If you expanded the windows, all the controls would stay in the same exact location - it wasn't dynamic in relation to the window size. In .NET, you can assign properties to each control in relation to the window size. You can either have it "grow" when the window resizes or just change location.