Conducting this for others who might be looking for the same answer as me.
Unfortunately, SplitContainer does not offer direct events for collapsed events. What I found useful is to track the SizeChanged and / or ClientSizeChanged events of the OPPOSITE panel with the one you are resetting.
Meaning, if I am interested in observing Panel2 crashes, I would subscribe to ClientSizeChanged events for Panel1.
In practice, I would recommend monitoring ClientSizeChanged for both SplitContainer panels to ensure that you don't miss any initializations or direct separator movements.
In the example below, I have a toggle button (btnToggle) that I want the Checked state to match the Panel2 visibility in SplitContainer:
private void splitContainer_Panel2_ClientSizeChanged(object sender, EventArgs e) { btnToggle.Checked = !splitContainer.Panel2Collapsed; } private void splitContainer_Panel1_ClientSizeChanged(object sender, EventArgs e) { btnToggle.Checked = !splitContainer.Panel2Collapsed; }
source share