zoukankan      html  css  js  c++  java
  • panel 与treeview控件的结合实现tablecontrol功能

    首先,我十分高兴能成为博客园的一员。有朋自远方来,不亦乐乎@广大编程爱好者们!!!

    最近在软件开发中,遇到了这样一个问题:panel 与treeview控件的结合实现tablecontrol功能,一直不能实现。经过咨询,以及查询资料,终于有了新认识,和大家分享一下,莫见笑。

    在这里重点涉及到了控件嵌套(父子关系)的问题,我们把panel们全部摞在一起,这里也就只显示了最上一层的panel内容,我的想法是通过激活treeview控件的节点来实现panel的交换显示。在这里特别注意的是:这些panel彼此之间并非独立的,而是存在嵌套(父子关系的)。我们解决的就是把这些panel控件设置为独立关系。这样就可以很容易的实现各个panel的交换显示了。

    第一部分:改变各个panel的嵌套关系为独立关系

    我们在XXXX.desiger.cs(窗口设计编辑器)中,改变他们的关系:

     // main_panel
    this.main_panel.Controls.Add(this.panel1);
                this.main_panel.Controls.Add(this.panel2)

    在这里就实现了panel1,panel2,是main_panel的子窗体,位于其上面了。

    第二部分:利用treeview的节点选择来实现panel的显示、隐藏(以下是一个小例子)

     在XXXX.AfterSelect(object sender, TreeViewEventArgs e)

        {

            showPanel(int level, string name);

        }

    private void showPanel(int level, string name)
            {
               foreach (Control c in panel_main.Controls)
                    {
                        c.Visible = false;
                    }

              switch (level)
                    {
                        case 0:
                            panel_MEquipGeneralAtt.Visible = true;
                            break;
                        case 1:
                            panel_MEquipGeneralAtt.Visible = true;
                            break;
                        case 2:
                            panel_RingGeneral.Visible = true;
                            break;
                      }

              }

    最后,收获最大的地方是:学会手动去改动XXXX.desiger.cs(窗口设计编辑器)中编码内容.....

  • 相关阅读:
    常见寻找OEP脱壳的方法
    Windows内核原理系列01
    HDU 1025 Constructing Roads In JGShining's Kingdom
    HDU 1024 Max Sum Plus Plus
    HDU 1003 Max Sum
    HDU 1019 Least Common Multiple
    HDU 1018 Big Number
    HDU 1014 Uniform Generator
    HDU 1012 u Calculate e
    HDU 1005 Number Sequence
  • 原文地址:https://www.cnblogs.com/liuxiaowei0543/p/3096844.html
Copyright © 2011-2022 走看看