麻烦各位大哥指点一下,C#里面想让多个groupbox重叠在一个位置,点其他位置相应的button显示相应的一个groupbox,隐藏其他的groupbox,可是不同groupbox里的相同位置包含有不同的button和textbox、label,如何将这些button和textbox绑定到相应的groupbox中?或者是否有办法在VS2005拖控件的时候,就把button和textbox、label设定属于相应groupbox,如果直接拖过去的话,它们会交叉从属,这样设定某个groupbox.visible=true,而其他的=false的时候,显示的东西不是自己需要的这个问题很弱弱,但是是我现在编的软件所遇到的一个问题,希望各位大哥能指点一下

解决方案 »

  1.   

    把你的groupbox放在panel里面就可以控制了。
      

  2.   

    groupbox本身就是一个容器,不需要说把其它控件“绑定”到相应的groupbox中,把那些控件拉到groupbox上面去就行了。
    在设计的时候,几个groupbox先放在不同的位置,各自所需要的控件拉上去,再把这几个groupbox移到同一位置。
    用按扭控制要显示哪个groupbox,就把这个groupbox带到最前面:groupbox.bringtoforne
      

  3.   

    这个再顶上去,谢谢3楼兄弟的回答,我按这个方法试了,定义了2个groupbox 分别为gb1,gb2
    填充好gb1 gb2,将gb2放到gb1上面
             private void bt1_Click(object sender, EventArgs e)
            {
                INDEX = 1;
                clear(gb1);
                gb1.Text = "学术论文索引";
               // gb1.BringToFront();
                gb2.SendToBack();
                gb1.BringToFront();        }        private void bt2_Click(object sender, EventArgs e)
            {
                INDEX = 2;
                clear(gb2);
                gb2.Text = "学位论文索引";
                gb2.BringToFront();
                gb1.SendToBack();
            }
    这样点bt2的时候gb2完全显示,但是点bt1的时候,gb1和gb2都显示,gb2显示在上面,gb1被gb2覆盖,只能显示部分。如何让gb2完全不显示,我把gb2.SendToBack();
                gb1.BringToFront();
    调换顺序也不行,gb2始终显示,麻烦帮帮忙,指点一下
      

  4.   

    现在发现如果gb2和gb1完全在同一个位置,或者非常接近的时候就会出现这个问题,如果相距一点距离,大概10个像素,就好了,好奇怪。。
      

  5.   

    现在在加上
    gb1.Visible = true;
    gb2.Visible = false;
    这样的语句终于可以了,但是还是不能放的太近,应该是C#自动判断gb2从属于gb1了,是其中的一部分
    怎么让5个同一位置的gb互相不从属呢?
      

  6.   

    那是因为当你将gb2放到gb1上面时,有可能是将gb2放入到gb1里了.这样gb2成了gb1的子控件.
    可以先将两控件分开,再在各自的Location里设置相同的位置.
      

  7.   

    点击 按钮1 时,gb1显示,gb2隐藏。gb3隐藏
    点击 按钮2 时,gb2显示,gb1和gb3隐藏 依次类推。大致如下:不记得那段代码了,唉,羞愧啊!click Button_1
     gb1.visbel=true;
     gb2.visbel=fase;
     gb3.visbel=fase;