C#左边是treeview 右边panel中是tabcontrol 点击treeView 中的一个节点时,右边tabcontrol 显示不同内容 50

要详细说明。最好有代码... 要详细说明。最好有代码 展开
 我来答
sunxiaixue
推荐于2018-04-03 · TA获得超过299个赞
知道小有建树答主
回答量:350
采纳率:0%
帮助的人:156万
展开全部
// 创建全局变量
List<string> a = new List<string>();
TabPage tp = null;
Dictionary<string, TabPage> Dtp = new Dictionary<string, TabPage>();
//在treeview的AfterSelect事件中添加如下代码
TreeNode tn = tvwWms.SelectedNode;
            if (tn.Parent == null)           //判断是否是根节点
            {
            }
            else
            {
                bool b = false;
                string n = tvwWms.SelectedNode.Text.ToString();
                if (e.Action == TreeViewAction.ByMouse)
                {
                    for (int i = 0; i < a.Count; i++)
                    {
                        if (a[i] == n)      //判断是否是已有的字符串
                        {
                            b = true;
                            break;
                        }
                    }
                    a.Add(n);               //往数组中添加节点的Name
                    if (b == true)          //判断是否是已创建过的选项卡
                    {
                        if (!tcWms.TabPages.ContainsKey(n))      //判断tabPage集合中是否含有该关键字的tabPage
                        {
                            try
                            {
                                if(Dtp.ContainsKey(n))
                                {
                                    tcWms.TabPages.Add(Dtp[n]);
                                    Dtp.Remove(n);
                                }
                            }
                            catch (Exception ex)
                            {
                                MessageBox.Show(ex.Message);
                            }
                        }
                    }
                    else
                    {
                        //添加不存在的选项卡
                        TabPage tab = new TabPage();
                        tcWms.TabPages.Add(tab);
                        tab.Name = n;
                        tab.Text = n;
                        tcWms.Multiline = true;
                        tcWms.SelectedTab = tab;     //显示该选项卡
                        string str = tvwWms.SelectedNode.Tag.ToString();
                        for (int i = 0; i < tcWms.TabPages.Count; i++)              //往每个tabPage添加一个panel
                        {
                            Panel p = new Panel();
                            p.Name = "Panel" + i.ToString();
                            p.Size = new System.Drawing.Size(711, 415);
                            tcWms.TabPages[i].Controls.Add(p);
                            if (str == "11")                           //点击某个节点,显示对应窗体
                            {
                                frmPc f = new frmPc();
                                f.TopLevel = false;
                                f.FormBorderStyle = FormBorderStyle.None;
                                f.WindowState = FormWindowState.Maximized;
                                p.Controls.Add(f);
                                f.Show();
                            }
                            if (str == "12")
                            {
                                frmGr f1 = new frmGr();
                                f1.TopLevel = false;
                                f1.FormBorderStyle = FormBorderStyle.None;
                                //f1.WindowState = FormWindowState.Maximized;
                                p.Controls.Add(f1);
                                f1.Show();
                            }
             }
zhouxiang_1216
2013-08-10 · TA获得超过2590个赞
知道大有可为答主
回答量:1286
采纳率:33%
帮助的人:1365万
展开全部
WinForm程序?节点切换的时候是切换TabPage上显示的内容还是切换TabPage?可以给你写个示例
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式