private void tVAreaDevices_DoubleClick(object sender, EventArgs e) { TreeNode TN = tVAreaDevices.SelectedNode; if (TN == null) return; if (TN.Level == 1) { if (TN.Tag == null) {//新建 video = new UserVideo(); video.Initialize(TN.Parent.Text, TN.Text); video.Alarm += new EventHandler<AlarmEventArgs>(video_AlarmCallback); video.ReceiveHorizon += new EventHandler<IVideo.HorizonEventArgs>(video_HorizonCallback); video.ReceiveVertical += new EventHandler<IVideo.VerticalEventArgs>(video_ReceiveVertical); this.alarmsGroup.Add(video, null); this.alarmsInfo.Add(video, new List<Bitmap>()); this.alarmsIndex.Add(video, 0); if (video.LoginEncoder())//登陆 { if (video.OpenVideo())//开启 { int x = videos.Count % 2; int y = videos.Count / 2; video.SetBounds(x * 352, y * 288, 352, 288); this.tPRealVideo.Controls.Add(video); UCShowDecode control = new UCShowDecode(); control.SetBounds(x * 352, y * 288, 352, 288); this.tPVideoDecode.Controls.Add(control); this.video.DecodeShow = control; TN.Tag = video; videos.Add(video); } else { MessageBox.Show("打开视频失败"); } } else MessageBox.Show("登陆编码器失败"); } else {//开关 video = TN.Tag as UserVideo; if (video.IsOpened) { video.CloseVideo(); //关 video.Invalidate(); //刷新 } else video.OpenVideo(); //开 } } else if (TN.Level == 2) { if (TN.Tag == null || TN.Parent.Tag == null) return; GroupInfo alarmGroup = TN.Tag as GroupInfo; VideoBase video = TN.Parent.Tag as VideoBase; if (alarmGroup == null || video == null) return; this.alarmsGroup[video] = alarmGroup; } }
private void tVAreaDevices_DoubleClick(object sender, EventArgs e) { TreeNode TNDevice = tVAreaDevices.SelectedNode; if (TNDevice == null || TNDevice.Level != 1 || TNDevice.Text.StartsWith("[不可用]")) return; if (TNDevice.Tag == null) {//初始化 UserVideo video = new UserVideo(); video.Initialize(TNDevice.Parent.Text, TNDevice.Text); if (video.LoginEncoder() && video.OpenVideo()) { video.BorderStyle = BorderStyle.FixedSingle; video.MouseDown += new MouseEventHandler(video_MouseDown); video.MouseMove += new MouseEventHandler(video_MouseMove); video.MouseUp += new MouseEventHandler(video_MouseUp); Size size = new Size((int)(this.Times * 352), (int)(this.Times * 288)); Point location = this.MapToClient(new Point(Convert.ToInt32(video.Longitude), Convert.ToInt32(video.Latitude))); location.Offset((int)((352 - size.Width) / 2), (int)((288 - size.Height) / 2)); video.SetBounds(location.X, location.Y, size.Width, size.Height); TNDevice.Tag = video; this.Controls.Add(video); videos.Add(video); } else TNDevice.Text = "[不可用]" + TNDevice.Text; } else { VideoBase video = TNDevice.Tag as VideoBase; if (video != null && video.IsLogined) { if (video.IsOpened) video.CloseVideo(); else video.OpenVideo(); } } }