private void _epgControl_ProgramClicked(object sender, ArgusTV.WinForms.Controls.EpgControl.ProgramEventArgs e) { try { GuideProgram guideProgram = Proxies.GuideService.GetProgramById(e.GuideProgram.GuideProgramId).Result; using (ProgramDetailsPopup popup = new ProgramDetailsPopup()) { popup.Channel = e.Channel; popup.GuideProgram = guideProgram; Point location = _epgControl.PointToScreen(e.Location); location.Offset(-250, -40); popup.Location = location; popup.ShowDialog(this); } } catch (Exception ex) { MessageBox.Show(this, ex.Message, null, MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void _epgControl_ProgramContextMenu(object sender, ArgusTV.WinForms.Controls.EpgControl.ProgramEventArgs e) { ScheduleType? scheduleType = null; UpcomingProgram upcomingProgram = null; UpcomingGuideProgram upcomingGuideProgram = null; GuideUpcomingProgram upcomingProgramInfo; if (_model.UpcomingRecordingsById.TryGetValue(e.UpcomingProgramId, out upcomingProgramInfo) || _model.UpcomingAlertsById.TryGetValue(e.UpcomingProgramId, out upcomingProgramInfo) || _model.UpcomingSuggestionsById.TryGetValue(e.UpcomingProgramId, out upcomingProgramInfo)) { scheduleType = upcomingProgramInfo.Type; upcomingProgram = upcomingProgramInfo.UpcomingRecording != null ? upcomingProgramInfo.UpcomingRecording.Program : null; upcomingGuideProgram = upcomingProgramInfo.UpcomingGuideProgram; } _programContextMenuStrip.SetTarget(e.Channel, e.GuideProgram.GuideProgramId, e.GuideProgram.Title, e.GuideProgram.SubTitle, e.GuideProgram.EpisodeNumberDisplay, e.GuideProgram.StartTime, scheduleType, upcomingProgram, upcomingGuideProgram); _programContextMenuStrip.Show(_epgControl, e.Location); }