VS.Net Designer support for Layered UI

You're probably here cos you came from Here

The download is a Zip of a VS.NET solution containing

To use the system (without the designer)
  1. Create a LayerProvider for controls
        //inside InitializeComponent()
        ControlLayerProvider layer = new ControlLayerProvider(this.components);
    
  2. Provide layer names
        //by default layers provide three layer names "Beginner" "Advanced" "Expert"
        //we can override them
        layer.Layers.Clear();
        layer.Layers.AddRange(new string[] {"Dumberer", "Dumber", "Dumb"});    
    
  3. Add controls to the Layer system
        Control c;
        
        c = new Button();
        c.Text = "I am a button";
        layer.SetLayer(c, "Dumber");
        this.Controls.Add(c);
        
        c = new TextBox();
        c.Text = "I am a TextBox";
        layer.SetLayer(c, "Dumberer");
        this.Controls.Add(c);    
    
  4. Or remove controls from the Layer system
        layer.SetLayer(c, null);
        //both the same thing
        layer.UnSetLayer(c);
    
  5. Now that we are all nicely setup we can switch layers to switch UI
        layer.Layer = "Dumb";
        //note this sets layer.LayerLevel to 2 because "Dumb" is at index 2 in layer.Layers
    
    Or we can cycle through our layers
        layer.LayerLevel = 0;
        //or
        layer.LayerLevel++;
        //note layer.Layer maps to layer.Layers[layer.LayerLevel]
        //note layer.LayerLevel cannot be set to outside the range 0 to layer.Layers.Count-1 (inclusive)
        //the only exception is when layer.Layer.Count == 0 then it is always 0 and layer.Layers returns null
    
  6. Download the code Here