点击左边的按钮,右边出现相应的窗体面板,是怎么实现的?

时间:2021-08-02 12:00:22
一般程序都有选项功能,
比如pplive,迅雷,超级旋风,电驴的选项,点击左边的按钮,右边会出现相应的选项面板,功能和tabbox差不多,但样式又不一样,
我想实现这样的功能,左边的可以用按钮代替,应该可以,或者用listbox
不知道右边的面板是怎么进行切换的?
不知道哪位兄弟知道怎么实现呢?

9 个解决方案

#1


例如 窗体右边已有4个panel 分别做好了不同的界面

左边放treeview 点击不同的节点 右边显示不同的panel 显示一个panel的同时,其他的visible都false掉

#2


那请问,可以这样子实现么?
每个按钮对应的选项面板是一个窗体,
然后当某个按钮按下时,把窗体显示出来,
不知道这样子能不能实现?

#3


当然可以 原理一样 不过不建议每个按钮对应一个窗体 其实对应一个panel就足够了 

当然具体情况具体分析

#4


二楼正解

#5


二楼的方法是对的:给你我做的一个东东的例子,但是用tabControl做的.
  private void 抽奖名称设置EToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //addPages("系统设置tabPage");
            tabControl1.Visible = true;
            tabControl1.TabPages.Remove(抽奖名称设置tabPage);
            tabControl1.TabPages.Remove(机构管理tabPage);
            tabControl1.TabPages.Remove(中奖名单tabPage);
            tabControl1.TabPages.Remove(奖项设置tabPage);
            tabControl1.TabPages.Remove(人员管理tabPage);
            tabControl1.TabPages.Add(抽奖名称设置tabPage);

        }

        private void 机构管理ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            tabControl1.Visible = true;
            tabControl1.TabPages.Remove(抽奖名称设置tabPage);
            tabControl1.TabPages.Remove(机构管理tabPage);
            tabControl1.TabPages.Remove(中奖名单tabPage);
            tabControl1.TabPages.Remove(奖项设置tabPage);
            tabControl1.TabPages.Remove(人员管理tabPage);
            tabControl1.TabPages.Add(机构管理tabPage);


        }
        private void 人员管理ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            tabControl1.Visible = true;

            tabControl1.TabPages.Remove(抽奖名称设置tabPage);
            tabControl1.TabPages.Remove(机构管理tabPage);
            tabControl1.TabPages.Remove(中奖名单tabPage);
            tabControl1.TabPages.Remove(奖项设置tabPage);
            tabControl1.TabPages.Remove(人员管理tabPage);
            tabControl1.TabPages.Add(人员管理tabPage);
        }

        private void 奖项设置ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            tabControl1.Visible = true;
            tabControl1.TabPages.Remove(抽奖名称设置tabPage);
            tabControl1.TabPages.Remove(机构管理tabPage);
            tabControl1.TabPages.Remove(中奖名单tabPage);
            tabControl1.TabPages.Remove(奖项设置tabPage);
            tabControl1.TabPages.Remove(人员管理tabPage);
            tabControl1.TabPages.Add(奖项设置tabPage);
        }
        private void 中奖名单ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            tabControl1.Visible = true;
            tabControl1.TabPages.Remove(抽奖名称设置tabPage);
            tabControl1.TabPages.Remove(机构管理tabPage);
            tabControl1.TabPages.Remove(中奖名单tabPage);
            tabControl1.TabPages.Remove(奖项设置tabPage);
            tabControl1.TabPages.Remove(人员管理tabPage);
            tabControl1.TabPages.Add(中奖名单tabPage);
        }

#6


楼上的,用tabControl,那你怎么隐藏那个鼠标点击切换的标签呢?

#7


点的时候把状态记住就行了呀..

#8


或者写个函数..
void diplayPanel(Panel p)
{
   p.Visable = true;
   //other's false
}

#9


二楼的是对的

#1


例如 窗体右边已有4个panel 分别做好了不同的界面

左边放treeview 点击不同的节点 右边显示不同的panel 显示一个panel的同时,其他的visible都false掉

#2


那请问,可以这样子实现么?
每个按钮对应的选项面板是一个窗体,
然后当某个按钮按下时,把窗体显示出来,
不知道这样子能不能实现?

#3


当然可以 原理一样 不过不建议每个按钮对应一个窗体 其实对应一个panel就足够了 

当然具体情况具体分析

#4


二楼正解

#5


二楼的方法是对的:给你我做的一个东东的例子,但是用tabControl做的.
  private void 抽奖名称设置EToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //addPages("系统设置tabPage");
            tabControl1.Visible = true;
            tabControl1.TabPages.Remove(抽奖名称设置tabPage);
            tabControl1.TabPages.Remove(机构管理tabPage);
            tabControl1.TabPages.Remove(中奖名单tabPage);
            tabControl1.TabPages.Remove(奖项设置tabPage);
            tabControl1.TabPages.Remove(人员管理tabPage);
            tabControl1.TabPages.Add(抽奖名称设置tabPage);

        }

        private void 机构管理ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            tabControl1.Visible = true;
            tabControl1.TabPages.Remove(抽奖名称设置tabPage);
            tabControl1.TabPages.Remove(机构管理tabPage);
            tabControl1.TabPages.Remove(中奖名单tabPage);
            tabControl1.TabPages.Remove(奖项设置tabPage);
            tabControl1.TabPages.Remove(人员管理tabPage);
            tabControl1.TabPages.Add(机构管理tabPage);


        }
        private void 人员管理ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            tabControl1.Visible = true;

            tabControl1.TabPages.Remove(抽奖名称设置tabPage);
            tabControl1.TabPages.Remove(机构管理tabPage);
            tabControl1.TabPages.Remove(中奖名单tabPage);
            tabControl1.TabPages.Remove(奖项设置tabPage);
            tabControl1.TabPages.Remove(人员管理tabPage);
            tabControl1.TabPages.Add(人员管理tabPage);
        }

        private void 奖项设置ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            tabControl1.Visible = true;
            tabControl1.TabPages.Remove(抽奖名称设置tabPage);
            tabControl1.TabPages.Remove(机构管理tabPage);
            tabControl1.TabPages.Remove(中奖名单tabPage);
            tabControl1.TabPages.Remove(奖项设置tabPage);
            tabControl1.TabPages.Remove(人员管理tabPage);
            tabControl1.TabPages.Add(奖项设置tabPage);
        }
        private void 中奖名单ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            tabControl1.Visible = true;
            tabControl1.TabPages.Remove(抽奖名称设置tabPage);
            tabControl1.TabPages.Remove(机构管理tabPage);
            tabControl1.TabPages.Remove(中奖名单tabPage);
            tabControl1.TabPages.Remove(奖项设置tabPage);
            tabControl1.TabPages.Remove(人员管理tabPage);
            tabControl1.TabPages.Add(中奖名单tabPage);
        }

#6


楼上的,用tabControl,那你怎么隐藏那个鼠标点击切换的标签呢?

#7


点的时候把状态记住就行了呀..

#8


或者写个函数..
void diplayPanel(Panel p)
{
   p.Visable = true;
   //other's false
}

#9


二楼的是对的