C# tabcontrol 的问题!

我想在一个窗体里面放置一个tabcontrol,然后在其中做4个tabpage和4个子窗体,每一个tabpage对应一个子窗体,我在index改变事件的函数里面将每一个子... 我想在一个窗体里面放置一个tabcontrol,然后在其中做4个tabpage和4个子窗体,每一个tabpage对应一个子窗体,我在index改变事件的函数里面将每一个子窗体打开,然后进行操作,小弟初学C#问这么低级的问题,不知道会不会让大神耻笑我!
上面第二句打错了。4个字窗体和4个tabcontrol(主窗体里面的)
展开
 我来答
freeeeeewind
推荐于2016-07-26 · TA获得超过1万个赞
知道大有可为答主
回答量:3227
采纳率:94%
帮助的人:1340万
展开全部

这是一个非常好练习。弄懂了,能学到不少知识和技巧!

using System;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class FormMain : Form
    {
      Form[] forms; //窗体数组用于存放四个子窗体

      public FormMain()
       {
            InitializeComponent();

            //将四个子窗体放入一个窗体数组(见说明1)
            forms = new Form[4];
            //初始化窗体数组
            forms[0] = new Form1();
            forms[1] = new Form2();
            forms[2] = new Form3();
            forms[3] = new Form4();

            //调用一次SelectedIndexChanged事件处理程序,以加载第一个窗口
            tabControl1.SelectedIndex = 0;
            tabControl1_SelectedIndexChanged(null, EventArgs.Empty);
        }

    private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
        {
            int index = tabControl1.SelectedIndex;
            TabPage p = tabControl1.TabPages[index];
            //判断所选择的TabPage中是否已经加载了窗体(见说明2)
            if (p.Controls.Count == 0)
            {
                //要在控件中显示窗体,则窗体的TopLevel必须设置为false(见说明3)
                forms[index].TopLevel = false;
                //在Tab页中显示窗体
                p.Controls.Add(forms[index]);
                forms[index].Show();
            }
        }
    }
}

说明:

1)之所以将四个窗体Form1...Form4放入一个窗体数组forms中,是为了使Form1与tabControl的第0页对应,Form2与tabControl的第1页对应……依次类推

2)如果tabControl的某个页中已经加载了窗体,则这个页面的Controls集合不为空,这就是说窗体加载后,页面的Controls集合就会多1项。以此来防止重复多次加载窗体

3)通常一个窗体是做作为“顶级控件”,要将窗体放入tabControl的页面中,那就必须将窗体的TopLevel属性设置为false!

阳光的雷咩咩
2014-10-16 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7777万
展开全部
不要用子窗体了,直接在tabpage里面拖控件啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式