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(); }); } }
public Task SaveAsync(string name, WindowAppearance appearance) { var path = GetWindowAppearanceFilePath(name); var content = _jsonSerializationService.Serialize(appearance); return(_fileStorage.WriteAsync(path, content)); }
//====== 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; }