在一个窗体中,3个panel重叠,panel中的控件不一样,我想要用一个下拉框控制3个panel显示,如何实现?

解决方案 »

  1.   

    在下拉框的selectedvaluechanged事件里控制panel的visible的属性就不行了
      

  2.   

            private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                if (comboBox1.Text != "")
                {
                    try
                    {
                        Panel pan = (Panel)this.Controls.Find(comboBox1.Text, false)[0];
                        if (pan != null)
                        {
                            pan.BringToFront();
                        }
                    }
                    catch
                    {
                    }
                }
            }
      

  3.   

    问题是你为什么不用tabControl???效果应该是一样的,而且要方便许多啊。
      

  4.   

    是否就像是windows优化大师那样的效果,左面是下拉列表框,右面是相对应的信息?
    你可以通过控制下拉框对应的panel,来显示还是隐藏他们,
    如对应panel1可写
    panel1.Show();
    panel2.Hide();
    panel3.Hide();
    则对应panel2可写
    panel1.Hide();
    panel2.Show();
    panel3.Hide();
    panel3同样形式
    .
    .
    .
      

  5.   

    做个combobox当前选项判断就可以了switch(this.cbo1.SelectedIndex)
    {
        case 0:
            this.pnl1.Visible = true;
            this.pnl2.Visible = false;
            this.pnl3.Vistble = false;
            break;
        case 1:
            this.pnl1.Visible = false;
            this.pnl2.Visible = true;
            this.pnl3.Vistble = false;
            break;
        case 3:
            this.pnl1.Visible = false;
            this.pnl2.Visible = false;
            this.pnl3.Vistble = true;
            break;
            
    }