using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.Windows.Forms; using LibationFileManager; using LibationWinForms.ProcessQueue; namespace LibationWinForms { public partial class Form1 { private void Configure_ProcessQueue() { //splitContainer1.Panel2Collapsed = true; processBookQueue1.popoutBtn.Click += ProcessBookQueue1_PopOut; } private void ProcessBookQueue1_PopOut(object sender, EventArgs e) { ProcessBookForm dockForm = new(); dockForm.WidthChange = splitContainer1.Panel2.Width + splitContainer1.SplitterWidth; dockForm.RestoreSizeAndLocation(Configuration.Instance); dockForm.FormClosing += DockForm_FormClosing; splitContainer1.Panel2.Controls.Remove(processBookQueue1); splitContainer1.Panel2Collapsed = true; processBookQueue1.popoutBtn.Visible = false; dockForm.PassControl(processBookQueue1); dockForm.Show(); this.Width -= dockForm.WidthChange; } private void DockForm_FormClosing(object sender, FormClosingEventArgs e) { if (sender is ProcessBookForm dockForm) { this.Width += dockForm.WidthChange; splitContainer1.Panel2.Controls.Add(dockForm.RegainControl()); splitContainer1.Panel2Collapsed = false; processBookQueue1.popoutBtn.Visible = true; dockForm.SaveSizeAndLocation(Configuration.Instance); this.Focus(); } } } }