public ControlPanelNavigation() : base() { SetStyle(ControlStyles.ContainerControl, false); SetStyle(ControlStyles.ResizeRedraw, true); UpdateStyles(); this.SuspendLayout(); Dock = DockStyle.Left; BackColor = System.Drawing.Color.Transparent; Width = 200; Padding = new Padding(22, 10, 12, 15); Font = SystemFonts.MessageBoxFont; _tasks = new ControlPanelTaskPanel() { Dock = DockStyle.Fill }; _otherTasks = new ControlPanelTaskPanel() { AutoSize = true, AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink, Dock = DockStyle.Bottom }; _otherLabel = new Label() { Text = "Other Tasks", Visible = false, Padding = new Padding(0, 0, 0, 5) }; if (VisualStyleRenderer.IsSupported) { VisualStyleRenderer renderer = VisualStyles.ControlPanel.GetRenderer(VisualStyles.ControlPanel.ControlPanelPart.TaskLink, (int)VisualStyles.ControlPanel.TaskLinkState.Disabled, true); using (Graphics g = Graphics.FromHwnd(IntPtr.Zero)) { _otherTasks.Font = renderer.GetFont(g, FontProperty.GlyphFont); _otherTasks.ForeColor = renderer.GetColor(ColorProperty.TextColor); } } _otherTasks.SuspendLayout(); _otherTasks.Controls.Add(_otherLabel); _otherTasks.ControlAdded += delegate(object Sender, ControlEventArgs e) { _otherLabel.Visible = true; }; _otherTasks.ControlRemoved += delegate(object Sender, ControlEventArgs e) { if (_otherTasks.Controls.Count == 0) { _otherLabel.Visible = false; } }; this.Controls.Add(_otherTasks); this.Controls.Add(_tasks); this._otherTasks.ResumeLayout(true); this.ResumeLayout(true); }