在winform中展开折叠splitcontainer c#

时间:2012-08-30 19:57:21

标签: c# winforms splitcontainer

我正在使用拆分容器。我的拆分容器有两个面板和水平方向。在第一个面板中有一些文本框和一个按钮。当我点击按钮然后运行代码以折叠拆分容器的Panel1。代码就像

 private void button1_Click(object sender, EventArgs e)
 {
        splitContainer1.Panel1Collapsed = !splitContainer1.Panel1Collapsed; 
 }

我的问题是当崩溃发生时我的按钮和所有文本框变得不可见。所以我下次无法使这些控件可见。所以我想像按钮这样的技巧不会被隐藏,因此我可以再次点击该按钮以使panel1可见。如果可能的话,指导我如何修理或将我的按钮放在分离器而不是面板上。所以指导我怎么做。

2 个答案:

答案 0 :(得分:3)

private void button1_Click(object sender, EventArgs e)
{
    splitContainer1.Panel1Collapsed = !splitContainer1.Panel1Collapsed;
    button1.Parent = splitContainer1.Panel1Collapsed ? splitContainer1.Panel2 : splitContainer1.Panel1;
}

答案 1 :(得分:0)

与我之前对您整个帖子的评论相关。这是一个ToolBarButton的小解决方案。只有在SplitContainer.Panel1折叠时才会启用它。

代码:

    private void Form1_Load(object sender, EventArgs e)
    {
        splitContainer1.Panel1Collapsed = true;
        toolStripButton1.Enabled = true;
    }

    private void button1_Click(object sender, EventArgs e)
    {
        splitContainer1.Panel1.Hide();
        toolStripButton1.Enabled = true;
    }

    private void toolStripButton1_Click(object sender, EventArgs e)
    {
        if (splitContainer1.Panel1Collapsed)
        {
            toolStripButton1.Enabled = false;
            splitContainer1.Panel1.Show();
        }
    }