【问题标题】:Expand collpase splitcontainer in win form c#在winform c#中展开折叠拆分容器
【发布时间】:2012-08-30 19:57:21
【问题描述】:

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

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

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

【问题讨论】:

  • 不能点击作为折叠的SplitContainer.Panel1 一部分的Button 不是很明显吗?您最好将Button 存储在ToolBarMenuItem 中,根据折叠状态启用/禁用。

标签: c# winforms splitcontainer


【解决方案1】:
private void button1_Click(object sender, EventArgs e)
{
    splitContainer1.Panel1Collapsed = !splitContainer1.Panel1Collapsed;
    button1.Parent = splitContainer1.Panel1Collapsed ? splitContainer1.Panel2 : splitContainer1.Panel1;
}

【讨论】:

  • 在第二次单击做一些工作并再次折叠面板后,该按钮消失了,您无法再次单击它。
  • 我无法复制您所说的内容。在我的情况下,按钮显示在同一位置,而其余控件消失时可见。也许它隐藏在另一个控件后面?添加 button1.BringToFront();最后并验证。
  • 躲在一个不起眼的小分组框后面。该死的,控制! :) - 不错的解决方案!
  • 抱歉,您的提示不起作用。这一行 button1.Parent = splitContainer1.Panel1Collapsed ? splitContainer1.Panel2 : splitContainer1.Panel1;不工作。如果可能,请指导我应该如何设计表格。谢谢
  • 你看过上面的评论了吗?也许您遇到了与 varg 相同的问题?
【解决方案2】:

与我之前对您整个帖子的评论有关。这是一个带有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();
        }
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-26
    • 2013-12-18
    相关资源
    最近更新 更多