using System; using System.ComponentModel; using System.Threading.Tasks; using System.Windows.Forms; namespace AppLauncher.Windows.Forms { public partial class HeadingPanel : AUserControl { protected bool isChecked = false; public HeadingPanel() : base() { InitializeComponent(); this.Checked = false; } [Category("Appearance"), Browsable(true)] public string TitleText { get => label1.Text; set => label1.Text = value; } [Category("Appearance"), Browsable(true)] public bool Checked { get => isChecked; set { isChecked = value; pictureBox1.BackgroundImage = (value) ? Properties.Resources.toggle_right_ea_16 : Properties.Resources.toggle_left_ea_16; } } public TilePanelContainer TilePanelContainer { get; set; } = null; protected async override void OnLoad(EventArgs e) { base.OnLoad(e); if (this.TilePanelContainer != null) { if (this.Checked) { await this.TilePanelContainer.Expand(120); } else { await this.TilePanelContainer.Collapse(0); } } } private async void HeadingPanel_MouseClick(object sender, MouseEventArgs e) { if (e.Button != MouseButtons.Left) { return; } this.Checked = !this.Checked; if (this.TilePanelContainer != null) { if (this.Checked) { await this.TilePanelContainer.Expand(120); } else { await this.TilePanelContainer.Collapse(0); } } } } }