将此发布给其他可能正在寻找与我相同答案的人.
不幸的是,SplitContainer不为折叠事件提供任何直接事件.我发现有用的是监视OPPOSITE面板的SizeChanged和/或ClientSizeChanged事件到你正在折叠的事件.
意思是,如果我对监视Panel2的崩溃感兴趣,我会订阅Panel1的ClientSizeChanged事件.
在实践中,我建议监视SplitContainer的两个面板的ClientSizeChanged,以保证不会错过任何初始化或直接分离器移动.
在下面的示例中,我有一个切换按钮(btnToggle),我希望Checked状态跟随SplitContainer中Panel2的可见性:
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;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3205 次 |
最近记录: |