下面是两个按钮控制的两个panel的显示隐藏        private void 称重ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (m == 0)
            {
                panel2.Visible = false;
                Weight item = new Weight();
                item.Size = panel1.Size;
                item.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
                                        | System.Windows.Forms.AnchorStyles.Left)
                                        | System.Windows.Forms.AnchorStyles.Right)));
                this.panel1.Controls.Clear();
                panel1.Controls.Add(item);
                m = m + 1;
            }
            else 
            {
                panel2.Visible = false;
                panel1.Visible = true;
            }        }
        private void 查询ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (n == 0)
            {
                panel1.Visible = false;
                ChaXun1 item = new ChaXun1();
                item.Size = panel2.Size;
                item.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
                                        | System.Windows.Forms.AnchorStyles.Left)
                                        | System.Windows.Forms.AnchorStyles.Right)));
                this.panel2.Controls.Clear();
                panel2.Controls.Add(item);
                n = n + 1;
            }
            else
            {
                panel1.Visible = false;
                panel2.Visible = true;
            }
        }私下里做测试时候可以实现,放到项目里就不行了,同样的代码
也是两个panel,求解

解决方案 »

  1.   

    怎么个不行法,是不是某个条件不满足,自己把条件show出来看看
      

  2.   

    点击”称重“panel1显示的时候可以正常显示,点击“查询”panel2显示的时候就显示白板,好像被panel1盖住了
      

  3.   

    你2个panel位置是重合的是吧,,
    那就用     panel1.BringToFront();//想要那个显示就把那个置顶显示 panel1.SendToBack();//这个事相反的效果
               
      

  4.   

    断点了每一步都是执行的
    两个panel是重合的
      

  5.   

    你点称重的 在条件m=0里面 那个panel1没有Visible那样行么
    下面的同样
      

  6.   

    你在不行的话就用一个panel ,查询哪个就把哪个Controls.Add
      

  7.   

    我也遇到过这样的问题,你把两个panle不要完全重合,稍微错开一点就可以的
      

  8.   

    应该是Panel初始值的问题,你的两个Panel的Visible都是True,当你单击称重时,隐藏了Panel2,Panel还是显示的,当单击查询时,隐藏了Panel1,这时两个Panel都被你隐藏了,当然就是白板了。把两个面板的初始的Visible都设为false,
    把称重if(m=0)中的panel2.Visible = false;改为panel1.Visible = true;
    把称重if(n=0)中的panel1.Visible = false;改为panel2.Visible = true;
      

  9.   

    不是这个问题,因为我就算先点panel2也是白板,后点panel1也能显示