在winfrom中,打开页面如何达到tabControl的效果,并且如果打开以后就不再打开,并显示相应的页面,

解决方案 »

  1.   

    这个最直接了。System.Windows.Forms.TabControlTabControl 包含选项卡页,这些选项卡页由通过 TabPages 属性添加的 TabPage 对象表示。此集合中的选项卡页的顺序反映了选项卡在控件中出现的顺序。用户可以通过单击控件中的某一选项卡来更改当前的 TabPage。您也可以通过使用下面的 TabControl 属性之一,以编程的方式更改当前的 TabPage:SelectedIndex SelectedTab 在 Microsoft .NET Framework 2.0 版 中,也可以使用下面的方法之一:SelectTab DeselectTab 在 .NET Framework 2.0 中,可以通过处理下面的事件之一,在当前选项卡发生更改时进行响应:Deselecting Deselected Selecting Selected TabControl 中的选项卡是 TabControl 的一部分,但不是各个 TabPage 控件的一部分。TabPage 类的成员(例如 ForeColor 属性)只影响选项卡页的矩形工作区,而不影响选项卡。此外,TabPage 的 Hide 方法不会隐藏选项卡。若要隐藏选项卡,必须从 TabControl.TabPages 集合中移除 TabPage 控件。
      

  2.   

    我的想法是把多个窗体的显示做成tabControl模式
      

  3.   

    可以把窗体添加到控件显示,
    //WinForm嵌入panel
    Form2 form = new Form2();
    form.FormBorderStyle = FormBorderStyle.None;
    form.TopLevel = false;
    this.panel1.Controls.Add(form);
    form.Show();另一个更好的方式
    =====================
    使用第三方组件
    一般的第三方的WindowsForms组件都提供了DockPanel的组件,功能方式就像VS IDE中的开发界面,可以进行灵活拖动,停靠以及独立窗口显示。
    推荐一款用的比较多的开源组件,
    dock panel suite,以下是网站地址,提供完整示例和源代码,
    http://sourceforge.net/projects/dockpanelsuite/
    实现自定义视图的例子
    http://www.codeproject.com/KB/vb/DockPanelSkin.aspx
    ===============================================
    以上实现对右边的对象进行惰性加载性能会更好。