private static void 初始化命令列表(M设备 __设备, E角色 __工程) { __设备.命令列表控件.Nodes.Clear(); if (!__设备.访问入口.连接正常) { __设备.访问入口.连接(new IPEndPoint(__设备.IP, __设备.端口号)); if (!Equals(__设备.IP, IPAddress.Loopback)) { Thread.Sleep(1000); //当前因为LINUX设备端有延时? 需要停顿一下才能发送 } } var __对象列表 = __设备.访问入口.查询可访问对象().对象列表.Where(q => (q.角色 & __工程) == __工程).ToList(); __对象列表.Sort((m, n) => { if (m.分类.CompareTo(n.分类) != 0) { return(m.分类.CompareTo(n.分类)); } return(m.称.CompareTo(n.称)); }); var __分类节点 = new Dictionary <string, TreeNode>(); __对象列表.ForEach(q => { TreeNodeCollection __nodes; if (string.IsNullOrEmpty(q.分类)) { __nodes = __设备.命令列表控件.Nodes; } else { if (!__分类节点.ContainsKey(q.分类)) { __分类节点[q.分类] = __设备.命令列表控件.Nodes.Add(q.分类); } __nodes = __分类节点[q.分类].Nodes; } var __方法列表 = __设备.访问入口.查询对象明细(q.称).方法列表; __方法列表.ForEach(k => { if ((k.角色 & __工程) == __工程) { __nodes.Add(string.Format("{0}.{1}", q.称, k.称)).Tag = new Tuple <string, M方法>(q.称, k); } }); }); __设备.命令列表控件.ExpandAll(); }
private void 初始化对象列表(M设备 __设备) { __设备.工程对象列表控件.Nodes.Clear(); __设备.开发对象列表控件.Nodes.Clear(); __设备.客户对象列表控件.Nodes.Clear(); __设备.访问入口.连接(new IPEndPoint(__设备.IP, __设备.端口号)); if (!Equals(__设备.IP, IPAddress.Loopback)) { Thread.Sleep(1000); //当前因为LINUX设备端有延时? 需要停顿一下才能发送 } var __对象列表 = __设备.访问入口.查询可访问对象(); 设置对象列表控件(__设备.工程对象列表控件, __对象列表, E角色.工程); 设置对象列表控件(__设备.开发对象列表控件, __对象列表, E角色.开发); 设置对象列表控件(__设备.客户对象列表控件, __对象列表, E角色.客户); }
private static void 初始化命令列表(M设备 __设备, E角色 __工程) { __设备.命令列表控件.Nodes.Clear(); if (!__设备.访问入口.连接正常) { __设备.访问入口.连接(new IPEndPoint(__设备.IP, __设备.端口号)); if (!Equals(__设备.IP, IPAddress.Loopback)) { Thread.Sleep(1000); //当前因为LINUX设备端有延时? 需要停顿一下才能发送 } } var __对象列表 = __设备.访问入口.查询可访问对象().对象列表.Where(q => (q.角色 & __工程) == __工程).ToList(); __对象列表.Sort((m, n) => { if (m.分类.CompareTo(n.分类) != 0) { return m.分类.CompareTo(n.分类); } return m.名称.CompareTo(n.名称); }); var __分类节点 = new Dictionary<string, TreeNode>(); __对象列表.ForEach(q => { TreeNodeCollection __nodes; if (string.IsNullOrEmpty(q.分类)) { __nodes = __设备.命令列表控件.Nodes; } else { if (!__分类节点.ContainsKey(q.分类)) { __分类节点[q.分类] = __设备.命令列表控件.Nodes.Add(q.分类); } __nodes = __分类节点[q.分类].Nodes; } var __方法列表 = __设备.访问入口.查询对象明细(q.名称).方法列表; __方法列表.ForEach(k => { if((k.角色 & __工程) == __工程) { __nodes.Add(string.Format("{0}.{1}", q.名称, k.名称)).Tag = new Tuple<string, M方法>(q.名称, k); } }); }); __设备.命令列表控件.ExpandAll(); }
private void 加载设备(IPEndPoint __地址, string __名称 = "") { //加载对象 _当前设备 = new M设备 { IP = __地址.Address, 端口号 = __地址.Port, 称 = __名称 }; 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 => { __通知控件.处理通知(q); }; _当前设备.访问入口.已断开 += __主动 => { 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 out设备列表_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e) { //加载对象 var __设备 = e.Node.Tag as M设备; if (__设备 == null) { return; } if (_当前设备节点 != null) { _当前设备节点.BackColor = Color.Gainsboro; } _当前设备节点 = e.Node; _当前设备节点.BackColor = Color.Yellow; this.out提示.Visible = false; this.do断开设备.Enabled = true; Action __显示连接异常 = () => this.BeginInvoke(new Action(() => { e.Node.ForeColor = Color.Red; __设备.命令列表控件.ForeColor = Color.Red; })); Action __显示连接正常 = () => this.BeginInvoke(new Action(() => { e.Node.ForeColor = Color.Black; __设备.命令列表控件.ForeColor = Color.Black; })); _当前设备 = __设备; if (__设备.访问入口 == null) { __设备.命令列表控件 = new TreeView { BackColor = Color.WhiteSmoke, BorderStyle = BorderStyle.None, Dock = DockStyle.Fill, ShowNodeToolTips = true, HideSelection = false, ContextMenuStrip = this.out对象菜单 }; __设备.命令列表控件.NodeMouseDoubleClick += out对象列表_NodeMouseDoubleClick; __设备.命令列表控件.MouseDown += TV_MouseDown; this.out命令列表容器.添加控件(__设备.命令列表控件); this.out命令列表容器.激活控件(__设备.命令列表控件); __设备.访问入口 = FT通用访问工厂.创建客户端(); __设备.命令执行控件 = new F执行方法(__设备.访问入口) { Dock = DockStyle.Fill }; this.out命令明细容器.添加控件(__设备.命令执行控件); this.out命令明细容器.激活控件(__设备.命令执行控件); __设备.访问入口.收到了通知 += q => __设备.命令执行控件.输出(string.Format("\r\n{0} {1} [{2}] {3} 详细: {4}\r\n", DateTime.Now.ToLongTimeString(), q.重要性, q.对象, q.概要, q.详细)); __设备.访问入口.收到了事件 += q => __设备.命令执行控件.输出(string.Format("\r\n{0} 收到事件: {1}\r\n", DateTime.Now.ToLongTimeString(),HJSON.序列化(q))); __设备.访问入口.已断开 += __主动 => { if (!__主动) { __显示连接异常(); __设备.命令执行控件.输出(string.Format("\r\n{0} 断开连接\r\n", DateTime.Now.ToLongTimeString())); } }; __设备.访问入口.已连接 += __显示连接正常; __设备.视图 = E角色.工程; do工程_Click(null, null);//设置样式 __显示连接正常(); } else { this.out命令列表容器.激活控件(_当前设备.命令列表控件); this.out命令明细容器.激活控件(__设备.命令执行控件); if (__设备.视图 == E角色.工程) { do工程_Click(null, null); //设置样式 } else { do开发_Click(null, null); //设置样式 } } }
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); } } } }
private void 加载设备(IPEndPoint __地址, string __名称 = "") { //加载对象 _当前设备 = new M设备 { IP = __地址.Address, 端口号 = __地址.Port, 名称 = __名称 }; this.do断开设备.Enabled = true; Action __显示连接异常 = () => this.BeginInvoke(new Action(() => { _当前设备.命令列表控件.ForeColor = Color.Red; })); Action __显示连接正常 = () => this.BeginInvoke(new Action(() => { _当前设备.命令列表控件.ForeColor = Color.Black; })); if (_当前设备.访问入口 == null) { _当前设备.命令列表控件 = new TreeView { BackColor = Color.WhiteSmoke, BorderStyle = BorderStyle.None, Dock = DockStyle.Fill, ShowNodeToolTips = true, HideSelection = false, ContextMenuStrip = this.out对象菜单 }; _当前设备.命令列表控件.NodeMouseDoubleClick += out对象列表_NodeMouseDoubleClick; _当前设备.命令列表控件.MouseDown += TV_MouseDown; this.out命令列表容器.添加控件(_当前设备.命令列表控件); this.out命令列表容器.激活控件(_当前设备.命令列表控件); _当前设备.访问入口 = FT通用访问工厂.创建客户端(); _当前设备.命令执行控件 = new F执行方法(_当前设备.访问入口) { Dock = DockStyle.Fill }; this.out命令明细容器.添加控件(_当前设备.命令执行控件); this.out命令明细容器.激活控件(_当前设备.命令执行控件); _当前设备.访问入口.收到了事件 += q => _当前设备.命令执行控件.输出(string.Format("\r\n{0} 收到事件: {1}\r\n", DateTime.Now.ToLongTimeString(), HJSON.序列化(q))); _当前设备.访问入口.已断开 += __主动 => { if (!__主动) { __显示连接异常(); _当前设备.命令执行控件.输出(string.Format("\r\n{0} 断开连接\r\n", DateTime.Now.ToLongTimeString())); } }; _当前设备.访问入口.已连接 += __显示连接正常; _当前设备.视图 = E角色.客户; do客户_Click(null, null); //设置样式 __显示连接正常(); } else { this.out命令列表容器.激活控件(_当前设备.命令列表控件); this.out命令明细容器.激活控件(_当前设备.命令执行控件); if (_当前设备.视图 == E角色.客户) { do客户_Click(null, null); } if (_当前设备.视图 == E角色.工程) { do工程_Click(null, null); } if (_当前设备.视图 == E角色.开发) { do开发_Click(null, null); } } }
private void 加载设备(IPEndPoint __地址, string __名称 = "") { //加载对象 _当前设备 = new M设备 { IP = __地址.Address, 端口号 = __地址.Port, 称 = __名称 }; this.do断开设备.Enabled = true; Action __显示连接异常 = () => this.BeginInvoke(new Action(() => { _当前设备.命令列表控件.ForeColor = Color.Red; })); Action __显示连接正常 = () => this.BeginInvoke(new Action(() => { _当前设备.命令列表控件.ForeColor = Color.Black; })); if (_当前设备.访问入口 == null) { _当前设备.命令列表控件 = new TreeView { BackColor = Color.WhiteSmoke, BorderStyle = BorderStyle.None, Dock = DockStyle.Fill, ShowNodeToolTips = true, HideSelection = false, ContextMenuStrip = this.out对象菜单 }; _当前设备.命令列表控件.NodeMouseDoubleClick += out对象列表_NodeMouseDoubleClick; _当前设备.命令列表控件.MouseDown += TV_MouseDown; this.out命令列表容器.添加控件(_当前设备.命令列表控件); this.out命令列表容器.激活控件(_当前设备.命令列表控件); _当前设备.访问入口 = FT通用访问工厂.创建客户端(); _当前设备.命令执行控件 = new F执行方法(_当前设备.访问入口) { Dock = DockStyle.Fill }; this.out命令明细容器.添加控件(_当前设备.命令执行控件); this.out命令明细容器.激活控件(_当前设备.命令执行控件); _当前设备.访问入口.收到了事件 += q => _当前设备.命令执行控件.输出(string.Format("\r\n{0} 收到事件: {1}\r\n", DateTime.Now.ToLongTimeString(), HJSON.序列化(q))); _当前设备.访问入口.已断开 += __主动 => { if (!__主动) { __显示连接异常(); _当前设备.命令执行控件.输出(string.Format("\r\n{0} 断开连接\r\n", DateTime.Now.ToLongTimeString())); } }; _当前设备.访问入口.已连接 += __显示连接正常; _当前设备.视图 = E角色.客户; do客户_Click(null, null); //设置样式 __显示连接正常(); } else { this.out命令列表容器.激活控件(_当前设备.命令列表控件); this.out命令明细容器.激活控件(_当前设备.命令执行控件); if (_当前设备.视图 == E角色.客户) { do客户_Click(null, null); } if (_当前设备.视图 == E角色.工程) { do工程_Click(null, null); } if (_当前设备.视图 == E角色.开发) { do开发_Click(null, null); } } }
void out设备列表_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e) { //加载对象 var __设备 = e.Node.Tag as M设备; if (__设备 == null) { return; } if (_当前设备节点 != null) { _当前设备节点.BackColor = Color.Gainsboro; } _当前设备节点 = e.Node; _当前设备节点.BackColor = Color.Yellow; this.out提示.Visible = false; this.do断开设备.Enabled = true; Action __显示连接异常 = () => this.BeginInvoke(new Action(() => { e.Node.ForeColor = Color.Red; __设备.命令列表控件.ForeColor = Color.Red; })); Action __显示连接正常 = () => this.BeginInvoke(new Action(() => { e.Node.ForeColor = Color.Black; __设备.命令列表控件.ForeColor = Color.Black; })); _当前设备 = __设备; if (__设备.访问入口 == null) { __设备.命令列表控件 = new TreeView { BackColor = Color.WhiteSmoke, BorderStyle = BorderStyle.None, Dock = DockStyle.Fill, ShowNodeToolTips = true, HideSelection = false, ContextMenuStrip = this.out对象菜单 }; __设备.命令列表控件.NodeMouseDoubleClick += out对象列表_NodeMouseDoubleClick; __设备.命令列表控件.MouseDown += TV_MouseDown; this.out命令列表容器.添加控件(__设备.命令列表控件); this.out命令列表容器.激活控件(__设备.命令列表控件); __设备.访问入口 = FT通用访问工厂.创建客户端(); __设备.命令执行控件 = new F执行方法(__设备.访问入口) { Dock = DockStyle.Fill }; this.out命令明细容器.添加控件(__设备.命令执行控件); this.out命令明细容器.激活控件(__设备.命令执行控件); __设备.访问入口.收到了通知 += q => __设备.命令执行控件.输出(string.Format("\r\n{0} {1} [{2}] {3} 详细: {4}\r\n", DateTime.Now.ToLongTimeString(), q.重要性, q.对象, q.概要, q.详细)); __设备.访问入口.收到了事件 += q => __设备.命令执行控件.输出(string.Format("\r\n{0} 收到事件: {1}\r\n", DateTime.Now.ToLongTimeString(), HJSON.序列化(q))); __设备.访问入口.已断开 += __主动 => { if (!__主动) { __显示连接异常(); __设备.命令执行控件.输出(string.Format("\r\n{0} 断开连接\r\n", DateTime.Now.ToLongTimeString())); } }; __设备.访问入口.已连接 += __显示连接正常; __设备.视图 = E角色.工程; do工程_Click(null, null);//设置样式 __显示连接正常(); } else { this.out命令列表容器.激活控件(_当前设备.命令列表控件); this.out命令明细容器.激活控件(__设备.命令执行控件); if (__设备.视图 == E角色.工程) { do工程_Click(null, null); //设置样式 } else { do开发_Click(null, null); //设置样式 } } }
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); } } } }