Опубликовать это для других, которые могут искать тот же ответ, что и я.
К сожалению, SplitContainer не предлагает никаких прямых событий для свернутых событий. Что я нашел полезным, так это отслеживать события SizeChanged и / или ClientSizeChanged панели OPPOSITE для того, что вы свернули.
То есть, если я заинтересован в мониторинге крахов Panel2, я бы подписался на события ClientSizeChanged для Panel1.
На практике я бы рекомендовал отслеживать ClientSizeChanged для обеих панелей SplitContainer, чтобы гарантировать, что вы не пропустите ни инициализацию, ни прямые движения сплиттера.
В приведенном ниже примере у меня есть кнопка-переключатель (btnToggle), которой я хочу, чтобы состояние «Проверено» соответствовало видимости Panel2 в 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;
}