当前位置: 首页>>代码示例>>C#>>正文


C# ContextMenu.Add方法代码示例

本文整理汇总了C#中System.Windows.Forms.ContextMenu.Add方法的典型用法代码示例。如果您正苦于以下问题:C# ContextMenu.Add方法的具体用法?C# ContextMenu.Add怎么用?C# ContextMenu.Add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Windows.Forms.ContextMenu的用法示例。


在下文中一共展示了ContextMenu.Add方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ShowDisplayOptionsMenu

 private ContextMenuAction ShowDisplayOptionsMenu(string previousMenu)
 {
     ContextMenu cmenu = new ContextMenu(Translation.DisplayOptions, previousMenu);
       cmenu.Add(Translation.ChangeLayout, () => ShowLayoutMenu(Translation.DisplayOptions));
       return cmenu.Show();
 }
开发者ID:japanesemediamanager,项目名称:animeplugin3,代码行数:6,代码来源:MainWindow.cs

示例2: ShowContextMenuSeriesEdit

        private ContextMenuAction ShowContextMenuSeriesEdit(string previousMenu)
        {
            GUIListItem currentitem = m_Facade.SelectedListItem;
              if (currentitem == null)
            return ContextMenuAction.Exit;

              AnimeSeriesVM ser = currentitem.TVTag as AnimeSeriesVM;
              if (ser == null)
            return ContextMenuAction.Exit;

              string currentMenu = ser.SeriesName + " - " + Translation.Edit;
              ContextMenu cmenu = new ContextMenu(currentMenu, previousmenu: previousMenu);
              // ReSharper disable ImplicitlyCapturedClosure
              cmenu.Add(Translation.SetDefaultAudioLanguage, () =>
              // ReSharper restore ImplicitlyCapturedClosure
              {
            string language = ser.DefaultAudioLanguage;
            if (Utils.DialogLanguage(ref language, false))
            {
              ser.DefaultAudioLanguage = language;
              ser.Save();
              return ContextMenuAction.Exit;
            }
            return ContextMenuAction.Continue;
              });
              // ReSharper disable ImplicitlyCapturedClosure
              cmenu.Add(Translation.SetDefaultSubtitleLanguage, () =>
              // ReSharper restore ImplicitlyCapturedClosure
              {
            string language = ser.DefaultSubtitleLanguage;
            if (Utils.DialogLanguage(ref language, true))
            {
              ser.DefaultSubtitleLanguage = language;
              ser.Save();
              return ContextMenuAction.Exit;
            }
            return ContextMenuAction.Continue;
              });
              cmenu.Add(Translation.DeleteThisSeriesEpisodes, () =>
              {
            if (ser.AnimeSeriesID.HasValue)
            {
              if (Utils.DialogConfirm(Translation.AreYouSure))
              {
            JMMServerVM.Instance.clientBinaryHTTP.DeleteAnimeSeries(ser.AnimeSeriesID.Value, false, false);
            LoadFacade();
            return ContextMenuAction.Exit;
              }
            }
            return ContextMenuAction.Continue;
              });
              return cmenu.Show();
        }
开发者ID:japanesemediamanager,项目名称:animeplugin3,代码行数:53,代码来源:MainWindow.cs

示例3: ShowContextMenuTVDB

        private ContextMenuAction ShowContextMenuTVDB(AnimeSeriesVM ser, string previousMenu)
        {
            GUIListItem currentitem = m_Facade.SelectedListItem;
              if (currentitem == null)
            return ContextMenuAction.Exit;

              int tvdbid;
              int season;
              string displayName;

              if (ser.CrossRef_AniDB_TvDBV2.Count > 0 && ser.TvDBSeriesV2.Count > 0 && ser.AniDB_Anime.AniDB_AnimeCrossRefs != null && ser.AniDB_Anime.AniDB_AnimeCrossRefs.TvDBCrossRefExists)
              {
            displayName = ser.AniDB_Anime.AniDB_AnimeCrossRefs.TvDBSeries[0].SeriesName;
            tvdbid = ser.CrossRef_AniDB_TvDBV2[0].TvDBID;
            season = ser.CrossRef_AniDB_TvDBV2[0].TvDBSeasonNumber;
              }
              else
            return ContextMenuAction.PreviousMenu;
              ContextMenu cmenu = new ContextMenu(displayName, previousmenu: previousMenu);
              // ReSharper disable ImplicitlyCapturedClosure
              cmenu.AddAction(Translation.RemoveTVDBAssociation, () => JMMServerVM.Instance.clientBinaryHTTP.RemoveLinkAniDBTvDBForAnime(ser.AniDB_Anime.AnimeID));
              // ReSharper restore ImplicitlyCapturedClosure
              cmenu.Add(string.Format(Translation.SwitchSeason, season.ToString(Globals.Culture)), () =>
              {
            if (ser.CrossRef_AniDB_TvDBV2.Count < 2)
            {
              return ShowSeasonSelectionMenuTvDB(ser, ser.AniDB_Anime.AnimeID, tvdbid, displayName);
            }
            Utils.DialogMsg(Translation.Error, Translation.CannotEditTvDBLink);
            return ContextMenuAction.Continue;
              });
              return cmenu.Show();
        }
开发者ID:japanesemediamanager,项目名称:animeplugin3,代码行数:33,代码来源:MainWindow.cs

示例4: ShowContextMenuGroupEdit

        private ContextMenuAction ShowContextMenuGroupEdit(string previousMenu)
        {
            GUIListItem currentitem = m_Facade.SelectedListItem;
              if (currentitem == null)
            return ContextMenuAction.Exit;

              AnimeGroupVM grp = currentitem.TVTag as AnimeGroupVM;
              if (grp == null)
            return ContextMenuAction.Exit;

              string currentMenu = grp.GroupName + " - " + Translation.Edit;
              ContextMenu cmenu = new ContextMenu(currentMenu, previousmenu: previousMenu);
              cmenu.Add(Translation.RenameGroup, () =>
              {
            string name = grp.GroupName;
            if (Utils.DialogText(ref name, GetID) && name != string.Empty)
            {
              if (name != grp.GroupName)
              {
            grp.GroupName = name;
            grp.SortName = Utils.GetSortName(name);
            grp.Save();
            LoadFacade();
              }
              return ContextMenuAction.Exit;
            }
            return ContextMenuAction.Continue;
              });
              cmenu.Add(Translation.ChangeSortName, () =>
              {
            string sortName = grp.SortName;
            if (Utils.DialogText(ref sortName, GetID))
            {
              grp.SortName = sortName;
              grp.Save();
              LoadFacade();
              return ContextMenuAction.Exit;
            }
            return ContextMenuAction.Continue;
              });
              List<AnimeSeriesVM> allSeries = grp.AllSeries;
              AnimeSeriesVM equalSeries = null;
              if (allSeries.Count == 1)
            equalSeries = allSeries[0];
              if (equalSeries != null)
              {
            cmenu.Add(Translation.SetDefaultAudioLanguage, () =>
            {
              String language = equalSeries.DefaultAudioLanguage;
              if (Utils.DialogLanguage(ref language, false))
              {
            equalSeries.DefaultAudioLanguage = language;
            equalSeries.Save();
            return ContextMenuAction.Exit;
              }
              return ContextMenuAction.Continue;
            });
            cmenu.Add(Translation.SetDefaultSubtitleLanguage, () =>
            {
              String language = equalSeries.DefaultSubtitleLanguage;
              if (Utils.DialogLanguage(ref language, true))
              {
            equalSeries.DefaultSubtitleLanguage = language;
            equalSeries.Save();
            return ContextMenuAction.Exit;
              }
              return ContextMenuAction.Continue;
            });
              }
              if (grp.DefaultAnimeSeriesID.HasValue)
              {
            // ReSharper disable ImplicitlyCapturedClosure
            cmenu.Add(Translation.RemoveDefaultSeries, () =>
            // ReSharper restore ImplicitlyCapturedClosure
            {
              JMMServerVM.Instance.clientBinaryHTTP.RemoveDefaultSeriesForGroup(grp.AnimeGroupID);
              grp.DefaultAnimeSeriesID = null;
              return ContextMenuAction.Continue;
            });
              }
              if (allSeries.Count > 1)
              {
            // ReSharper disable ImplicitlyCapturedClosure
            cmenu.Add(Translation.SetDefaultSeries, () =>
            // ReSharper restore ImplicitlyCapturedClosure
            {
              AnimeSeriesVM ser = null;
              if (Utils.DialogSelectSeries(ref ser, allSeries))
              {
            if (ser.AnimeSeriesID.HasValue)
            {
              grp.DefaultAnimeSeriesID = ser.AnimeSeriesID;
              JMMServerVM.Instance.clientBinaryHTTP.SetDefaultSeriesForGroup(grp.AnimeGroupID, ser.AnimeSeriesID.Value);
            }
              }
              return ContextMenuAction.Continue;
            });
              }
              // ReSharper disable ImplicitlyCapturedClosure
              cmenu.Add(Translation.DeleteThisGroupSeriesEpisodes, () =>
//.........这里部分代码省略.........
开发者ID:japanesemediamanager,项目名称:animeplugin3,代码行数:101,代码来源:MainWindow.cs

示例5: ShowContextMenuSeries

        private ContextMenuAction ShowContextMenuSeries(string previousMenu)
        {
            GUIListItem currentitem = this.m_Facade.SelectedListItem;
              if (currentitem == null)
            return ContextMenuAction.Exit;

              AnimeSeriesVM ser = currentitem.TVTag as AnimeSeriesVM;
              if (ser == null)
            return ContextMenuAction.Exit;

              ContextMenu cmenu = new ContextMenu(ser.SeriesName, previousmenu: previousMenu);
              cmenu.AddAction(Translation.SeriesInformation, () => ShowAnimeInfoWindow(ser));
              cmenu.AddAction(Translation.MarkAllAsWatched, () =>
              {
            if (ser.AnimeSeriesID.HasValue)
            {
              JMMServerHelper.SetWatchedStatusOnSeries(true, Int32.MaxValue, ser.AnimeSeriesID.Value);
              Contract_AnimeSeries contract = JMMServerVM.Instance.clientBinaryHTTP.GetSeries(ser.AnimeSeriesID.Value, JMMServerVM.Instance.CurrentUser.JMMUserID);
              if (contract != null)
              {
            AnimeSeriesVM serTemp = new AnimeSeriesVM(contract);
            if(serTemp != null)
              Utils.PromptToRateSeriesOnCompletion(serTemp);
              }
              LoadFacade();
            }
              });
              cmenu.AddAction(Translation.MarkAllAsUnwatched, () =>
              {
            if (ser.AnimeSeriesID.HasValue)
            {
              JMMServerHelper.SetWatchedStatusOnSeries(false, Int32.MaxValue, ser.AnimeSeriesID.Value);
              LoadFacade();
            }
              });
              cmenu.AddAction(Translation.RateSeries, () =>
              {
              if (ser == null)
              {
              BaseConfig.MyAnimeLog.Write("Error during rating = series was null!");
              }
              if (ser.AnimeSeriesID.HasValue)
              {
              Utils.PromptToRateSeriesMaually(ser);
              }
              });
              cmenu.Add(Translation.Databases + " ...", () => ShowContextMenuDatabases(ser, ser.SeriesName));
              cmenu.Add(Translation.Images + " ...", () => ShowContextMenuImages(ser.SeriesName));
              cmenu.Add(Translation.EditSeries + " ...", () => ShowContextMenuSeriesEdit(ser.SeriesName));
              // ReSharper disable ImplicitlyCapturedClosure
              cmenu.AddAction(Translation.RandomEpisode, () =>
              // ReSharper restore ImplicitlyCapturedClosure
              {
            RandomWindow_CurrentEpisode = null;
            RandomWindow_CurrentSeries = null;
            RandomWindow_LevelObject = ser;
            RandomWindow_RandomLevel = RandomSeriesEpisodeLevel.Series;
            RandomWindow_RandomType = RandomObjectType.Episode;
            GUIWindowManager.ActivateWindow(Constants.WindowIDs.RANDOM);
              });
              cmenu.Add(Translation.PostProcessing + " ...", () => ShowContextMenuPostProcessing(ser.SeriesName));
              return cmenu.Show();
        }
开发者ID:japanesemediamanager,项目名称:animeplugin3,代码行数:63,代码来源:MainWindow.cs

示例6: ShowContextMenuEpisode

        private ContextMenuAction ShowContextMenuEpisode(string previousMenu)
        {
            GUIListItem currentitem = this.m_Facade.SelectedListItem;
              if (currentitem == null)
            return ContextMenuAction.Exit;

              GUIDialogMenu dlg = (GUIDialogMenu)GUIWindowManager.GetWindow((int)Window.WINDOW_DIALOG_MENU);
              if (dlg == null)
            return ContextMenuAction.Exit;

              AnimeEpisodeVM episode = currentitem.TVTag as AnimeEpisodeVM;
              if (episode == null)
            return ContextMenuAction.Exit;
              bool isWatched = (episode.IsWatched == 1);

              ContextMenu cmenu = new ContextMenu(episode.EpisodeNumberAndName, previousmenu: previousMenu);
              cmenu.AddAction(isWatched ? Translation.MarkAsUnwatched : Translation.MarkAsWatched, () =>
              {
            BaseConfig.MyAnimeLog.Write("Toggle watched status: {0} - {1}", isWatched, episode);
            episode.ToggleWatchedStatus(!isWatched);
            LoadFacade();
              });
              AnimeSeriesVM ser = GetTopSerie();
              AnimeEpisodeTypeVM e = GetTopEpType();
              enEpisodeType ept = enEpisodeType.Episode;
              if (e != null)
            ept = e.EpisodeType;
              cmenu.AddAction(Translation.MarkAllAsWatched, () =>
              {
              if (ser == null)
              {
              // If we can't get a top series we fallback on what the episode tells us
              BaseConfig.MyAnimeLog.Write("Error during watch state change - series was null!");
              ser = episode.AnimeSeries;
              }

              if (ser?.AnimeSeriesID != null)
              {
              BaseConfig.MyAnimeLog.Write("Marking series as watched: ID -> {0} - Name -> {1}", ser.AnimeSeriesID,
                  ser.SeriesName);

              JMMServerVM.Instance.clientBinaryHTTP.SetWatchedStatusOnSeries(ser.AnimeSeriesID.Value, true,
                  Int32.MaxValue, (int) ept, JMMServerVM.Instance.CurrentUser.JMMUserID);

              if (BaseConfig.Settings.DisplayRatingDialogOnCompletion)
              {
                  Contract_AnimeSeries contract =
                      JMMServerVM.Instance.clientBinaryHTTP.GetSeries(ser.AnimeSeriesID.Value,
                          JMMServerVM.Instance.CurrentUser.JMMUserID);
                  if (contract != null)
                  {
                      ser = new AnimeSeriesVM(contract);
                      if (ser?.AnimeSeriesID != null)
                          ReplaceSerie(ser.AnimeSeriesID.Value, ser);
                      Utils.PromptToRateSeriesOnCompletion(ser);
                  }
              }
              LoadFacade();
              }
              });
              cmenu.AddAction(Translation.MarkAllAsUnwatched, () =>
              {
              if (ser == null)
              {
              // If we can't get a top series we fallback on what the episode tells us
              BaseConfig.MyAnimeLog.Write("Error during watch state change - series was null!");
              ser = episode.AnimeSeries;
              }

              if (ser?.AnimeSeriesID != null)
              {
              BaseConfig.MyAnimeLog.Write("Marking series as un-watched: ID -> {0} - Name -> {1}", ser.AnimeSeriesID,
                  ser.SeriesName);

              JMMServerVM.Instance.clientBinaryHTTP.SetWatchedStatusOnSeries(ser.AnimeSeriesID.Value, false,
                  Int32.MaxValue, (int) ept, JMMServerVM.Instance.CurrentUser.JMMUserID);
              LoadFacade();
              }
              });
              cmenu.AddAction(Translation.MarkAllPreviousAsWatched, () =>
              {
              if (ser == null)
              {
              // If we can't get a top series we fallback on what the episode tells us
              BaseConfig.MyAnimeLog.Write("Error during watch state change - series was null!");
              ser = episode.AnimeSeries;
              }

              if (ser?.AnimeSeriesID != null)
              {
              JMMServerVM.Instance.clientBinaryHTTP.SetWatchedStatusOnSeries(ser.AnimeSeriesID.Value, false,
                  episode.EpisodeNumber - 1, (int)ept, JMMServerVM.Instance.CurrentUser.JMMUserID);

              Contract_AnimeSeries contract =
                  JMMServerVM.Instance.clientBinaryHTTP.GetSeries(ser.AnimeSeriesID.Value,
                      JMMServerVM.Instance.CurrentUser.JMMUserID);
              if (contract != null)
              {
                  ser = new AnimeSeriesVM(contract);
                  if (ser?.AnimeSeriesID != null)
//.........这里部分代码省略.........
开发者ID:japanesemediamanager,项目名称:animeplugin3,代码行数:101,代码来源:MainWindow.cs

示例7: ShowContextMenuGroup

        private ContextMenuAction ShowContextMenuGroup(string previousMenu)
        {
            GUIListItem currentitem = m_Facade.SelectedListItem;
              if (currentitem == null)
              return ContextMenuAction.Exit;
              AnimeGroupVM grp = currentitem.TVTag as AnimeGroupVM;
              if (grp == null)
              return ContextMenuAction.Exit;

              ContextMenu cmenu = new ContextMenu(grp.GroupName, previousmenu: previousMenu);

              if (grp.SubGroups.Count == 0)
              {
              cmenu.AddAction(grp.IsFave == 1 ? Translation.RemoveFromFavorites : Translation.AddToFavorites, () =>
              {
                  grp.IsFave = grp.IsFave == 1 ? 0 : 1;
                  grp.Save();
                  EvaluateVisibility();
              });
              }

              cmenu.AddAction(Translation.MarkAllAsWatched, () =>
              {
              foreach (AnimeSeriesVM ser in grp.AllSeries)
              {
                  if (ser.AnimeSeriesID.HasValue)
                      JMMServerHelper.SetWatchedStatusOnSeries(true, Int32.MaxValue, ser.AnimeSeriesID.Value);
              }
              LoadFacade();
              });
              cmenu.AddAction(Translation.MarkAllAsUnwatched, () =>
              {
              foreach (AnimeSeriesVM ser in grp.AllSeries)
              {
                  if (ser.AnimeSeriesID.HasValue)
                      JMMServerHelper.SetWatchedStatusOnSeries(false, Int32.MaxValue, ser.AnimeSeriesID.Value);
              }
              LoadFacade();
              });
              if (grp.AllSeries.Count == 1)
              {
              cmenu.AddAction(Translation.SeriesInformation, () => ShowAnimeInfoWindow(grp.AllSeries[0]));
              }
              History h = GetCurrent();
              if (h.Listing is GroupFilterVM)
              {
              GroupFilterVM gf = (GroupFilterVM) h.Listing;
              cmenu.Add(Translation.QuickSort + " ...", () =>
              {
                  string sortType = "";
                  GroupFilterSortDirection sortDirection = GroupFilterSortDirection.Asc;
                  if (gf.GroupFilterID.HasValue)
                  {
                      if (GroupFilterQuickSorts.ContainsKey(gf.GroupFilterID.Value))
                          sortDirection = GroupFilterQuickSorts[gf.GroupFilterID.Value].SortDirection;
                      if (!Utils.DialogSelectGFQuickSort(ref sortType, ref sortDirection, gf.GroupFilterName))
                      {
                          if (!GroupFilterQuickSorts.ContainsKey(gf.GroupFilterID.Value))
                              GroupFilterQuickSorts[gf.GroupFilterID.Value] = new QuickSort();
                          GroupFilterQuickSorts[gf.GroupFilterID.Value].SortType = sortType;
                          GroupFilterQuickSorts[gf.GroupFilterID.Value].SortDirection = sortDirection;
                          LoadFacade();
                          return ContextMenuAction.Exit;
                      }
                  }
                  return ContextMenuAction.Continue;
              });
              if ((gf.GroupFilterID.HasValue) && (GroupFilterQuickSorts.ContainsKey(gf.GroupFilterID.Value)))
              {
                  cmenu.AddAction(Translation.RemoveQuickSort, () =>
                  {
                      GroupFilterQuickSorts.Remove(gf.GroupFilterID.Value);
                      LoadFacade();
                  });
              }
              }

              // ReSharper disable ImplicitlyCapturedClosure
              cmenu.AddAction(Translation.RandomSeries, () =>
              // ReSharper restore ImplicitlyCapturedClosure
              {
              RandomWindow_CurrentEpisode = null;
              RandomWindow_CurrentSeries = null;
              RandomWindow_LevelObject = grp;
              RandomWindow_RandomLevel = RandomSeriesEpisodeLevel.Group;
              RandomWindow_RandomType = RandomObjectType.Series;
              GUIWindowManager.ActivateWindow(Constants.WindowIDs.RANDOM);
              });
              // ReSharper disable ImplicitlyCapturedClosure
              cmenu.AddAction(Translation.RandomEpisode, () =>
              // ReSharper restore ImplicitlyCapturedClosure
              {
              RandomWindow_CurrentEpisode = null;
              RandomWindow_CurrentSeries = null;
              RandomWindow_LevelObject = grp;
              RandomWindow_RandomLevel = RandomSeriesEpisodeLevel.Group;
              RandomWindow_RandomType = RandomObjectType.Episode;
              GUIWindowManager.ActivateWindow(Constants.WindowIDs.RANDOM);
              });

//.........这里部分代码省略.........
开发者ID:japanesemediamanager,项目名称:animeplugin3,代码行数:101,代码来源:MainWindow.cs

示例8: ShowContextMenuDatabases

        private ContextMenuAction ShowContextMenuDatabases(AnimeSeriesVM ser, string previousMenu)
        {
            string currentMenu = ser.SeriesName + " " + Translation.Databases;

              bool hasTvDbLink = ser.CrossRef_AniDB_TvDBV2.Count > 0 && ser.AniDB_Anime.AniDB_AnimeCrossRefs != null && ser.AniDB_Anime.AniDB_AnimeCrossRefs.TvDBCrossRefExists;
              bool hasMovieDbLink = ser.CrossRef_AniDB_MovieDB != null && ser.AniDB_Anime.AniDB_AnimeCrossRefs != null && ser.AniDB_Anime.AniDB_AnimeCrossRefs.MovieDB_Movie != null;
              bool hasMalLink = ser.CrossRef_AniDB_MAL != null && ser.CrossRef_AniDB_MAL.Count > 0;

              ContextMenu cmenu = new ContextMenu(currentMenu, previousmenu: previousMenu);

              string tvdbText = Translation.SearchTheTvDB;
              string moviedbText = Translation.SearchTheMovieDB;
              string malText = Translation.SearchMAL;

              if ((hasTvDbLink) && (ser.AniDB_Anime.AniDB_AnimeCrossRefs != null))
            tvdbText += string.Format(" ({0}: {1})", Translation.Current, ser.AniDB_Anime.AniDB_AnimeCrossRefs.TvDBSeries[0].SeriesName);

              if ((hasMovieDbLink) && (ser.AniDB_Anime.AniDB_AnimeCrossRefs != null))
            moviedbText += string.Format(" ({0}: {1})", Translation.Current, ser.AniDB_Anime.AniDB_AnimeCrossRefs.MovieDB_Movie.MovieName);

              if (hasMalLink)
            malText += string.Format(" ({0}: {1})", Translation.Current, (ser.CrossRef_AniDB_MAL.Count == 1) ? ser.CrossRef_AniDB_MAL[0].MALTitle : Translation.MultipleLinks);

              if (!hasMovieDbLink)
              {
            cmenu.Add(tvdbText, () => SearchTheTvDBMenu(ser, currentMenu));
            cmenu.Add(malText, () => SearchMALMenu(ser, currentMenu));
              }

              if (!hasTvDbLink)
            cmenu.Add(moviedbText, () => SearchTheMovieDBMenu(ser, currentMenu));
              if (hasTvDbLink)
            cmenu.Add(Translation.TheTVDB + " ...", () => ShowContextMenuTVDB(ser, currentMenu));
              if (hasMalLink)
            cmenu.Add(Translation.MAL + " ...", () => ShowContextMenuMAL(ser, currentMenu));
              if (hasMovieDbLink)
            cmenu.Add(Translation.TheMovieDB + " ...", () => ShowContextMenuMovieDB(ser, currentMenu));
              return cmenu.Show();
        }
开发者ID:japanesemediamanager,项目名称:animeplugin3,代码行数:39,代码来源:MainWindow.cs

示例9: ShowContextMenuAdvancedOptionsGroup

        private ContextMenuAction ShowContextMenuAdvancedOptionsGroup(string previousMenu)
        {
            GUIListItem currentitem = m_Facade.SelectedListItem;
            if (currentitem == null)
                return ContextMenuAction.Exit;
            AnimeGroupVM grp = currentitem.TVTag as AnimeGroupVM;
            if (grp == null)
                return ContextMenuAction.Exit;

            ContextMenu cmenu = new ContextMenu(Translation.AdvancedOptions, previousmenu: previousMenu);
            cmenu.Add(Translation.EditGroup + " ...", () => ShowContextMenuGroupEdit(grp.GroupName));
            if (grp.AllSeries.Count == 1)
            {
                cmenu.Add(Translation.Databases + " ...",
                    () => ShowContextMenuDatabases(grp.AllSeries[0], Translation.GroupMenu));
                cmenu.Add(Translation.Images + " ...", () => ShowContextMenuImages(grp.GroupName));
            }
            cmenu.Add(Translation.PostProcessing + " ...", () => ShowContextMenuPostProcessing(grp.GroupName));

            return cmenu.Show();
        }
开发者ID:japanesemediamanager,项目名称:animeplugin3,代码行数:21,代码来源:MainWindow.cs

示例10: SearchTheTvDBMenu

        private ContextMenuAction SearchTheTvDBMenu(AnimeSeriesVM ser, string previousMenu)
        {
            //string searchCriteria = "";
              int aniDBID = ser.AniDB_Anime.AnimeID;
              ContextMenu cmenu = new ContextMenu(Translation.SearchTheTvDB, previousMenu);
              cmenu.Add(Translation.SearchUsing + ": " + ser.AniDB_Anime.FormattedTitle, () => SearchTheTvDB(ser, ser.AniDB_Anime.FormattedTitle, Translation.SearchTheTvDB));
              cmenu.Add(Translation.ManualSearch, () =>
              {
            if (Utils.DialogText(ref searchText, GetID))
              return SearchTheTvDB(ser, searchText, Translation.SearchTheTvDB);
            return ContextMenuAction.Continue;
              });

              List<CrossRef_AniDB_TvDBVMV2> CrossRef_AniDB_TvDBResult = new List<CrossRef_AniDB_TvDBVMV2>();
              List<JMMServerBinary.Contract_Azure_CrossRef_AniDB_TvDB> xrefs = new List<Contract_Azure_CrossRef_AniDB_TvDB>(JMMServerVM.Instance.clientBinaryHTTP.GetTVDBCrossRefWebCache(aniDBID, false));
              if (xrefs != null && xrefs.Count > 0)
              {
            string xrefSummary = string.Empty;
            foreach (JMMServerBinary.Contract_Azure_CrossRef_AniDB_TvDB xref in xrefs)
            {

              CrossRef_AniDB_TvDBVMV2 xrefAzure = new CrossRef_AniDB_TvDBVMV2(xref);
              CrossRef_AniDB_TvDBResult.Add(xrefAzure);
              xrefSummary += Environment.NewLine;
              xrefSummary += string.Format("AniDB {0}:{1} -- TvDB {2}: {3}:{4}",
            xref.AniDBStartEpisodeType, xref.AniDBStartEpisodeNumber, xref.TvDBTitle, xref.TvDBSeasonNumber, xref.TvDBStartEpisodeNumber);
            }

            cmenu.AddAction(Translation.CommunitySays + ": " + xrefSummary, () =>
            {
              string res = JMMServerVM.Instance.clientBinaryHTTP.RemoveLinkAniDBTvDBForAnime(aniDBID);
              if (res.Length > 0)
            Utils.DialogMsg(Translation.Error, res);
              else
              {
            foreach (CrossRef_AniDB_TvDBVMV2 xref in CrossRef_AniDB_TvDBResult)
            {
              LinkAniDBToTVDB(ser, xref.AnimeID, (enEpisodeType)xref.AniDBStartEpisodeType,
                              xref.AniDBStartEpisodeNumber, xref.TvDBID,
                              xref.TvDBSeasonNumber, xref.TvDBStartEpisodeNumber);
            }
              }
            });
              }
              return cmenu.Show();
        }
开发者ID:japanesemediamanager,项目名称:animeplugin3,代码行数:46,代码来源:MainWindow.cs

示例11: SearchTheMovieDBMenu

        private ContextMenuAction SearchTheMovieDBMenu(AnimeSeriesVM ser, string previousMenu)
        {
            int aniDBID = ser.AniDB_Anime.AnimeID;
              ContextMenu cmenu = new ContextMenu(Translation.SearchTheMovieDB, previousMenu);
              cmenu.Add(Translation.SearchUsing + ": " + ser.AniDB_Anime.FormattedTitle, () => SearchTheMovieDB(ser, ser.AniDB_Anime.FormattedTitle, Translation.SearchTheMovieDB));
              cmenu.Add(Translation.ManualSearch, () =>
              {
            searchText = ser.AniDB_Anime.FormattedTitle;
            if (Utils.DialogText(ref searchText, GetID))
              return SearchTheMovieDB(ser, ser.AniDB_Anime.FormattedTitle, Translation.SearchTheMovieDB);
            return ContextMenuAction.Continue;
              });
              Contract_CrossRef_AniDB_OtherResult xref = JMMServerVM.Instance.clientBinaryHTTP.GetOtherAnimeCrossRefWebCache(aniDBID, (int)CrossRefType.MovieDB);
              if (xref != null)
              {

            CrossRef_AniDB_OtherResultVM crossrossRefAniDbOtherResult = new CrossRef_AniDB_OtherResultVM(xref);
            cmenu.AddAction(Translation.CommunitySays + ": " + crossrossRefAniDbOtherResult.CrossRefID, () => LinkAniDBToMovieDB(ser, crossrossRefAniDbOtherResult.AnimeID, Int32.Parse(crossrossRefAniDbOtherResult.CrossRefID)));
              }
              return cmenu.Show();
        }
开发者ID:japanesemediamanager,项目名称:animeplugin3,代码行数:21,代码来源:MainWindow.cs

示例12: SearchMALMenu

        private ContextMenuAction SearchMALMenu(AnimeSeriesVM ser, string previousMenu)
        {
            int aniDBID = ser.AniDB_Anime.AnimeID;

              ContextMenu cmenu = new ContextMenu(Translation.SearchMAL, previousmenu: previousMenu);
              cmenu.Add(Translation.SearchUsing + ": " + ser.AniDB_Anime.FormattedTitle, () => SearchMAL(ser, ser.AniDB_Anime.FormattedTitle, Translation.SearchMAL));
              cmenu.Add(Translation.ManualSearch, () =>
              {
            searchText = ser.AniDB_Anime.FormattedTitle;
            if (Utils.DialogText(ref searchText, GetID))
              return SearchMAL(ser, searchText, Translation.SearchMAL);
            return ContextMenuAction.Continue;
              });
              return cmenu.Show();
        }
开发者ID:japanesemediamanager,项目名称:animeplugin3,代码行数:15,代码来源:MainWindow.cs


注:本文中的System.Windows.Forms.ContextMenu.Add方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。