void 加载设备(IPEndPoint __地址, string __名称 = "")
        {
            //加载对象
            var __设备 = new M设备 {
                IP = __地址.Address, 端口号 = __地址.Port, 称 = __名称
            };

            this.out提示.Visible  = false;
            this.do断开设备.Enabled = true;
            Action __显示连接异常 = () => this.BeginInvoke(new Action(() =>
            {
                __设备.工程对象列表控件.ForeColor = Color.Red;
                __设备.开发对象列表控件.ForeColor = Color.Red;
                __设备.客户对象列表控件.ForeColor = Color.Red;
            }));
            Action __显示连接正常 = () => this.BeginInvoke(new Action(() =>
            {
                __设备.工程对象列表控件.ForeColor = Color.Black;
                __设备.开发对象列表控件.ForeColor = Color.Black;
                __设备.客户对象列表控件.ForeColor = Color.Black;
            }));

            _当前设备 = __设备;
            if (__设备.访问入口 == null)
            {
                __设备.工程对象列表控件 = new TreeView {
                    BackColor = Color.WhiteSmoke, BorderStyle = BorderStyle.None, Dock = DockStyle.Fill, ShowNodeToolTips = true, ContextMenuStrip = this.out对象菜单
                };
                __设备.工程对象列表控件.NodeMouseDoubleClick += out对象列表_NodeMouseDoubleClick;
                __设备.工程对象列表控件.MouseDown            += TV_MouseDown;

                __设备.开发对象列表控件 = new TreeView {
                    BackColor = Color.WhiteSmoke, BorderStyle = BorderStyle.None, Dock = DockStyle.Fill, ShowNodeToolTips = true, ContextMenuStrip = this.out对象菜单
                };
                __设备.开发对象列表控件.NodeMouseDoubleClick += out对象列表_NodeMouseDoubleClick;
                __设备.开发对象列表控件.MouseDown            += TV_MouseDown;

                __设备.客户对象列表控件 = new TreeView {
                    BackColor = Color.WhiteSmoke, BorderStyle = BorderStyle.None, Dock = DockStyle.Fill, ShowNodeToolTips = true, ContextMenuStrip = this.out对象菜单
                };
                __设备.客户对象列表控件.NodeMouseDoubleClick += out对象列表_NodeMouseDoubleClick;
                __设备.客户对象列表控件.MouseDown            += TV_MouseDown;

                this.out对象列表容器.添加控件(__设备.工程对象列表控件);
                this.out对象列表容器.添加控件(__设备.开发对象列表控件);
                this.out对象列表容器.添加控件(__设备.客户对象列表控件);
                this.out对象列表容器.激活控件(__设备.工程对象列表控件);

                __设备.对象明细控件 = new UTab()
                {
                    Dock = DockStyle.Fill
                };
                this.out对象明细容器.添加控件(__设备.对象明细控件);
                this.out对象明细容器.激活控件(__设备.对象明细控件);
                var __通知控件 = new F通知()
                {
                    Dock = DockStyle.Fill
                };
                __设备.对象明细控件.添加("通知", __通知控件);

                __设备.访问入口        = FT通用访问工厂.创建客户端();
                __设备.访问入口.收到了通知 += __通知控件.处理通知;
                __设备.访问入口.收到了事件 += q => __通知控件.处理通知(new M通知 {
                    对象 = q.对象名称, 角色 = E角色.所有, 重要性 = "普通", 概要 = q.事件名称, 详细 = q.实参列表 == null ? "" : string.Join(",", q.实参列表.Select(k => string.Format("{0}:{1}", k.称, k.值)))
                });
                __设备.访问入口.已断开 += __主动 =>
                {
                    if (!__主动)
                    {
                        __显示连接异常();
                    }
                };
                __设备.访问入口.已连接 += __显示连接正常;
                初始化对象列表(__设备);
                __显示连接正常();
                //this.do工程.PerformClick();
                this.do客户_Click(this.do工程, EventArgs.Empty);
            }
            else
            {
                this.out对象明细容器.激活控件(__设备.对象明细控件);
                if (!__设备.访问入口.连接正常)
                {
                    初始化对象列表(__设备);
                    __显示连接正常();
                    if (__设备.视图 == E角色.工程)
                    {
                        this.do工程_Click(this.do工程, EventArgs.Empty);
                    }
                    if (__设备.视图 == E角色.开发)
                    {
                        this.do开发_Click(this.do开发, EventArgs.Empty);
                    }
                    if (__设备.视图 == E角色.客户)
                    {
                        this.do客户_Click(this.do开发, EventArgs.Empty);
                    }
                }
            }
        }
        void 加载设备(IPEndPoint __地址, string __名称 = "")
        {
            //加载对象
            var __设备 = new M设备 { IP = __地址.Address, 端口号 = __地址.Port, 名称 = __名称 };
            this.out提示.Visible = false;
            this.do断开设备.Enabled = true;
            Action __显示连接异常 = () => this.BeginInvoke(new Action(() =>
            {
                __设备.工程对象列表控件.ForeColor = Color.Red;
                __设备.开发对象列表控件.ForeColor = Color.Red;
                __设备.客户对象列表控件.ForeColor = Color.Red;
            }));
            Action __显示连接正常 = () => this.BeginInvoke(new Action(() =>
            {
                __设备.工程对象列表控件.ForeColor = Color.Black;
                __设备.开发对象列表控件.ForeColor = Color.Black;
                __设备.客户对象列表控件.ForeColor = Color.Black;
            }));
            _当前设备 = __设备;
            if (__设备.访问入口 == null)
            {
                __设备.工程对象列表控件 = new TreeView { BackColor = Color.WhiteSmoke, BorderStyle = BorderStyle.None, Dock = DockStyle.Fill, ShowNodeToolTips = true, ContextMenuStrip = this.out对象菜单 };
                __设备.工程对象列表控件.NodeMouseDoubleClick += out对象列表_NodeMouseDoubleClick;
                __设备.工程对象列表控件.MouseDown += TV_MouseDown;

                __设备.开发对象列表控件 = new TreeView { BackColor = Color.WhiteSmoke, BorderStyle = BorderStyle.None, Dock = DockStyle.Fill, ShowNodeToolTips = true, ContextMenuStrip = this.out对象菜单 };
                __设备.开发对象列表控件.NodeMouseDoubleClick += out对象列表_NodeMouseDoubleClick;
                __设备.开发对象列表控件.MouseDown += TV_MouseDown;

                __设备.客户对象列表控件 = new TreeView { BackColor = Color.WhiteSmoke, BorderStyle = BorderStyle.None, Dock = DockStyle.Fill, ShowNodeToolTips = true, ContextMenuStrip = this.out对象菜单 };
                __设备.客户对象列表控件.NodeMouseDoubleClick += out对象列表_NodeMouseDoubleClick;
                __设备.客户对象列表控件.MouseDown += TV_MouseDown;

                this.out对象列表容器.添加控件(__设备.工程对象列表控件);
                this.out对象列表容器.添加控件(__设备.开发对象列表控件);
                this.out对象列表容器.添加控件(__设备.客户对象列表控件);
                this.out对象列表容器.激活控件(__设备.工程对象列表控件);

                __设备.对象明细控件 = new UTab() { Dock = DockStyle.Fill };
                this.out对象明细容器.添加控件(__设备.对象明细控件);
                this.out对象明细容器.激活控件(__设备.对象明细控件);
                var __通知控件 = new F通知() { Dock = DockStyle.Fill };
                __设备.对象明细控件.添加("通知", __通知控件);

                __设备.访问入口 = FT通用访问工厂.创建客户端();
                __设备.访问入口.收到了通知 += __通知控件.处理通知;
                __设备.访问入口.收到了事件 += q => __通知控件.处理通知(new M通知 { 对象 = q.对象名称, 角色= E角色.所有, 重要性 = "普通", 概要 = q.事件名称, 详细 = q.实参列表 == null ? "" : string.Join(",", q.实参列表.Select(k => string.Format("{0}:{1}", k.名称, k.值))) });
                __设备.访问入口.已断开 += __主动 =>
                {
                    if (!__主动)
                    {
                        __显示连接异常();
                    }
                };
                __设备.访问入口.已连接 += __显示连接正常;
                初始化对象列表(__设备);
                __显示连接正常();
                //this.do工程.PerformClick();
                this.do客户_Click(this.do工程, EventArgs.Empty);
            }
            else
            {
                this.out对象明细容器.激活控件(__设备.对象明细控件);
                if (!__设备.访问入口.连接正常)
                {
                    初始化对象列表(__设备);
                    __显示连接正常();
                    if (__设备.视图 == E角色.工程)
                    {
                        this.do工程_Click(this.do工程, EventArgs.Empty);
                    }
                    if (__设备.视图 == E角色.开发)
                    {
                        this.do开发_Click(this.do开发, EventArgs.Empty);
                    }
                    if (__设备.视图 == E角色.客户)
                    {
                        this.do客户_Click(this.do开发, EventArgs.Empty);
                    }
                }
            }
        }