private void MainForm_Load(object sender, EventArgs e)
        {
            // 載入畫面設定
            this.WindowAppearance  = WindowAppearance.Parse(Properties.Settings.Default.WindowAppearance);
            this.MessageAppearance = DataGridViewAppearance.Parse(Properties.Settings.Default.MessageAppearance);
            this.ErrorAppearance   = DataGridViewAppearance.Parse(Properties.Settings.Default.ErrorAppearance);

            // 載入上次執行作業
            foreach (CheckBox checkBox in JobPanel.Controls.Cast <Control>().Where(c => c.GetType() == typeof(CheckBox)))
            {
                if (Properties.Settings.Default.LastJobsChecked.Split(',').Contains(checkBox.Tag.GetType().Name))
                {
                    ((CheckBox)checkBox).Checked = true;
                }
            }

            // 註冊畫面變動相關事件
            this.LocationChanged += this.MainForm_LocationChanged;
            this.Resize          += this.MainForm_Resize;
            this.MessageGridView.ColumnWidthChanged += this.MessageGridView_ColumnWidthChanged;
            this.ErrorGridView.ColumnWidthChanged   += this.ErrorGridView_ColumnWidthChanged;

            // 一次性工作:能下參數自動執行,執行完畢跳出視窗提醒工作執行完成。
            if (this.isAutoStart)
            {
                this.SwitchStartingState();

                // 作業開始
                this.Jobs.ForEach((job) =>
                {
                    job.Start();
                });
            }
        }
Exemple #2
0
        public Task SaveAsync(string name, WindowAppearance appearance)
        {
            var path    = GetWindowAppearanceFilePath(name);
            var content = _jsonSerializationService.Serialize(appearance);

            return(_fileStorage.WriteAsync(path, content));
        }
Exemple #3
0
        //====== private methods

        private void PaintStatsWindow(TextCanvas canvas)
        {
            var statsView = canvas.Slice(canvas.Size.AsRectangle.ChangeWidth(30));

            statsView.ClearColor(Color16.DarkBlue);

            var app         = new WindowAppearance(Color16.Black, Color16.Teal, Color16.Lime, true);
            var statsWindow = new StatsWindow(playerName, gameLogic.GetStatus(), statsView.Size, app);

            statsWindow.Paint(statsView, Point.Zero);
        }
        public override void ProcessCanvas(TextCanvas canvas)
        {
            canvas.ClearColor(Color16.Black);
            canvas.WriteTextCenter(1, Resources.TextHiScores, hiScoresAnimation.CurrentFrame, Color16.Black);

            var appearance     = new WindowAppearance(Color16.Black, Color16.Lime, Color16.Yellow);
            var hiScoresWindow = new HiScoresWindow(hiScores, appearance);

            var winPosition = hiScoresWindow.Size.AsRectangle.CenterAt(canvas.Size.AsRectangle.Center).TopLeft;

            hiScoresWindow.Paint(canvas, winPosition);

            canvas.WriteTextCenter(canvas.Size.Height - 2, "-- Presc ESC to back --", Color16.Silver, Color16.Black);
        }
        //====== ctors

        public HiScoresWindow(IHiScores hiScoresList, WindowAppearance appearance = null) : base(appearance)
        {
            this.hiScoresList = Verify.NotNull(hiScoresList, nameof(hiScoresList));

            Initialize();
        }
        //====== ctors

        public OptionsListWindow(OptionSelector <T> optionSelector, WindowAppearance appearance = null) : base(appearance)
        {
            this.optionSelector = Verify.NotNull(optionSelector, nameof(optionSelector));

            Initialize();
        }
        //====== ctors

        public StatsWindow(string playerName, IEnumerable <StatusItem> items, Size size, WindowAppearance appearance = null)
            : base(appearance)
        {
            this.items = Verify.NotNull(items, nameof(items)).ToArray();

            Title = string.IsNullOrEmpty(playerName) ? "???" : playerName;
            Size  = size;
        }