在一个Panel上有个控件Control1,我Panel.Clear()后,再Panel.Controls.Add(Control2);但是显示还是原来Control1的东西,不显示Control2,为什么呀?

解决方案 »

  1.   

    Panel.Controls.Clear();
    Control2.Visible = true;
    Panel.Controls.Add(Control2);
      

  2.   

    你把Control1设为不可见,
    再把添加Control2添加到面板上试试看
      

  3.   

                panel1.Controls.Clear();
                TextBox TextBox1 = new TextBox();
                panel1.Controls.Add(TextBox1);我用winform写,是可以的
      

  4.   


    同样的写法,在webform也可以的
    LZ是什么时候会出现这样的问题?缓存了?
      

  5.   


    同样的问题在webform里,需要刷新页面。
      

  6.   

    Panel.Controls.Clear();
    Panel.Controls.Add(Control2);
      

  7.   

    Panel.Controls.Clear();
    Panel.Controls.Add(Control2);
    再刷新下 界面
      

  8.   

    Panel.Controls.Clear();
    Panel.Controls.Add(Control2);
    panel.refresh();
      

  9.   

    在最开始加个判断是否为第一次...
    if (!IsPostBack)
    {
    .......
    }
      

  10.   

     private void button2_Click(object sender, EventArgs e)
            {
                panel1.Controls.Add(button1);
                //panel1.Refresh();
            }
            private void button3_Click(object sender, EventArgs e)
            {
                panel1.Controls.Clear();
            }
    不刷新,也可以加载哇,可能和各位的理解上不一样。
    楼上的各位所说,刷新后是肯定可以的