protected override void OnInit(EventArgs e)
{
base.OnInit(e);
var cssclass = String.Format("{0}", CssClass);
_button = new LinkButton {Enabled = true, CssClass = string.Format("{0}{1}", cssclass, "Button"), Width = Width };
_tree = new TreeView { Visible = true, Enabled = true, CssClass = cssclass, ShowLines = true, Width = Width, NodeWrap = true };
_panel = new Panel { Visible = false, CssClass = string.Format("{0}{1}", cssclass, "Panel"), Width = Width };
_tree.SelectedNodeChanged += TreeOnSelectedNodeChanged;
_tree.SelectedNodeStyle.CssClass = string.Format("{0}{1}", cssclass, "SelectedNode");
_tree.NodeStyle.CssClass = string.Format("{0}{1}", cssclass, "Node");
_button.Click += ButtonOnClick;
_panel.Controls.Add(_tree);
Controls.Add(_button);
Controls.Add(_panel);
Visible = Enabled = AutoImage = true;
}