不需要重绘那么复杂吧,设置一下这些属性应该可以了,
fixedpanel,
IsSplitterFixed,
panel1collapsed,
panel2collapsed,
panel1MinSize,
panel2MinSize,

解决方案 »

  1.   

    这个不需要重绘啊, 设置splitContainer1控件相关属性即可(查看msdn帮助)
      

  2.   

    如果是要重绘的话不知道如何处理。不过可以通过设置splitContainer1的属性来模拟Panel1的隐藏(经查实Panel1没有Visible属性,故不能直接隐藏)
    1. 先设置splitContainer1的IsSplitterFixed为true, Panel1MinSize为0
    2. 在隐藏时记录Panel1的宽度比例rate,设置splitContainer1的SplitterDistance为0
    3. 在显示时设置splitContainer1的SplitterDistance为rate * splitContainer1.Width如上可实现Panel1的显示隐藏,缺点时左边会有一条线,宽度为splitContainer1的SplitterWidth的值。