这是效果图,点击上面那个小三角,就两张效果互相交换了。这个效果如果单纯的用图片背景和Panel隐藏显示切换很容易做出来,但是,我的项目需要动态加载那里面的小项,也就是说左侧的导航时动态加载的,(根据权限的不同,里面的个数,小图标,文字内容也不同)。不知道怎么做,是不是要做用户控件,但小弟又不会做用户控件。只好到这里请高手帮忙了。大侠们回答请讲清楚具体的思路,因为小弟没搞过什么用户控件什么的,只会VS自带的一些控件的简单事件什么的。。

解决方案 »

  1.   

    动态加载貌似没什么难度。扩展性也不受影响。
    你可以独立编写窗体,点击后切换窗体。
    窗体也可以作为控件添加到父窗体,例如:
    Form frm = new Form();
    frm.TopLevel = false;
    this.Controls.Add(frm);
    启动时候,你配置好显示哪些窗体就可以了。窗体动态的选择进来。独立开发窗体。甚至独立dll都可以。
    这个图上的控件是自己写的,实现方法也无外呼就是你想的那样。只是可以吧panel换成window来独立开发。进行配置,增加扩展性。
      

  2.   

    楼上正解,我现在是把那里面的小导航做成一个用户控件,然后动态设置图标和后面的文字,哦,对了,怎么在后台用 +=new   这种方法动态添加事件的啊?
      

  3.   

    OK!用户控件问题已经解决,属性和事件都可以在用户控件被调用的时候再设置,现在就剩下那图片上两个效果切换的问题了,大家说我是做两个用户控件还是直接把包含用户控件的Panel的宽直接给改小点把文字给盖掉,有没有更好的方法实现那个效果?