public void add(ProfileDetail profile, string[] menu)
 {
     MaterialSkin.Controls.MaterialContextMenuStrip men = new MaterialSkin.Controls.MaterialContextMenuStrip();
     for (int i = 0; i < menu.Length; i++)
     {
         men.Items.Add(menu[i]);
     }
     profile.SetMenu(men);
     this.profiles.Add(profile);
 }
        /// <summary>
        /// 背景窗口的静态方法,用于显示一个背景窗口
        /// </summary>
        /// <param name="frmTop">与其叠加的前景窗口</param>
        public static void Show(GameTranslateForm frmTop)
        {
            //弹出菜单设置
            MaterialSkin.Controls.MaterialContextMenuStrip FunMenuStrip = new MaterialSkin.Controls.MaterialContextMenuStrip();
            ToolStripMenuItem LockItem           = new ToolStripMenuItem();
            ToolStripMenuItem SettingsItem       = new ToolStripMenuItem();
            ToolStripMenuItem ReNewOCRItem       = new ToolStripMenuItem();
            ToolStripMenuItem HistoryTextItem    = new ToolStripMenuItem();
            ToolStripMenuItem ExitTransFrmItem   = new ToolStripMenuItem();
            ToolStripMenuItem ShowsrcTextFrmItem = new ToolStripMenuItem();
            ToolStripMenuItem PauseStartItem     = new ToolStripMenuItem();

            FunMenuStrip.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
            FunMenuStrip.Depth     = 0;
            FunMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
                LockItem,
                SettingsItem,
                ReNewOCRItem,
                HistoryTextItem,
                ShowsrcTextFrmItem,
                PauseStartItem,
                ExitTransFrmItem
            });
            FunMenuStrip.MouseState      = MaterialSkin.MouseState.HOVER;
            FunMenuStrip.ShowImageMargin = false;
            FunMenuStrip.Size            = new System.Drawing.Size(156, 136);
            //
            // 加锁解锁
            //
            LockItem.Size   = new System.Drawing.Size(155, 22);
            LockItem.Text   = "加锁/解锁";
            LockItem.Click += LockItem_Click;
            //
            // 设置
            //
            SettingsItem.Size   = new System.Drawing.Size(155, 22);
            SettingsItem.Text   = "设置";
            SettingsItem.Click += SettingsItem_Click;
            //
            // 刷新OCRToolStripMenuItem
            //
            ReNewOCRItem.Size   = new System.Drawing.Size(155, 22);
            ReNewOCRItem.Text   = "刷新OCR";
            ReNewOCRItem.Click += ReNewOCRItem_Click;
            //
            // 历史文本ToolStripMenuItem
            //
            HistoryTextItem.Size   = new System.Drawing.Size(155, 22);
            HistoryTextItem.Text   = "历史文本";
            HistoryTextItem.Click += HistoryTextItem_Click;
            //
            // 退出翻译ToolStripMenuItem
            //
            ExitTransFrmItem.Size   = new System.Drawing.Size(155, 22);
            ExitTransFrmItem.Text   = "退出翻译";
            ExitTransFrmItem.Click += ExitTransFrmItem_Click;
            //
            // 显示原文ToolStripMenuItem
            //
            ShowsrcTextFrmItem.Size   = new System.Drawing.Size(155, 22);
            ShowsrcTextFrmItem.Text   = "显示/隐藏原文";
            ShowsrcTextFrmItem.Click += ShowSrcTextItem_Click;
            //
            // 一件暂停/恢复ToolStripMenuItem
            //
            PauseStartItem.Size   = new System.Drawing.Size(155, 22);
            PauseStartItem.Text   = "暂停/恢复";
            PauseStartItem.Click += PauseStartItem_Click;


            top = frmTop;
            // 背景窗体设置
            GameTranslateBackForm frmBack = new GameTranslateBackForm();

            top.SetBackForm(frmBack);
            back = frmBack;

            double frmBackOpacity = (double)(double.Parse(Common.settings.TF_Opacity) / 100);

            frmBack.Text            = "MisakaTranslator游戏翻译窗口";
            frmBack.FormBorderStyle = FormBorderStyle.None;
            frmBack.MaximizeBox     = false;

            int LocX  = int.Parse(Common.settings.TF_LocX);
            int LocY  = int.Parse(Common.settings.TF_LocY);
            int SizeW = int.Parse(Common.settings.TF_SizeW);
            int SizeH = int.Parse(Common.settings.TF_SizeH);

            if (LocX == -1 && LocY == -1)
            {
                frmBack.StartPosition = FormStartPosition.CenterScreen;
            }
            else
            {
                frmBack.Location      = new Point(LocX, LocY);
                frmBack.StartPosition = FormStartPosition.Manual;
                frmBack.Width         = SizeW;
                frmBack.Height        = SizeH;
            }

            frmBack.ShowIcon      = false;
            frmBack.ShowInTaskbar = false;
            frmBack.Opacity       = frmBackOpacity;
            string color = Common.settings.TF_BackColor;

            if (color == "Noset")
            {
                frmBack.BackColor = Color.LightGray;
            }
            else
            {
                frmBack.BackColor = Color.FromArgb(int.Parse(color));
            }

            frmBack.ContextMenuStrip = FunMenuStrip;

            // 顶部窗体设置
            frmTop.Owner = frmBack;

            frmBack.SizeChanged      += GameTranslateBackForm_SizeLocationChanged;
            frmBack.LocationChanged  += GameTranslateBackForm_SizeLocationChanged;
            frmBack.MouseDoubleClick += GameTranslateBackForm_DoubleClick;
            frmBack.FormClosing      += GameTranslateBackForm_FormClosing;

            frmBack.TopMost = true;
            frmTop.TopMost  = true;

            isLock        = true;
            isShowSrcText = true;
            isPause       = false;

            // 显示窗体
            frmTop.Show();
            frmBack.Show();
        }
Example #3
0
 public void SetMenu(MaterialSkin.Controls.MaterialContextMenuStrip menu)
 {
     this.mnu                = menu;
     this.mnu.ItemClicked   += Mnu_ItemClicked;
     pic_profile.MouseClick += Pic_profile_MouseClick;
 }