public DialogSolutionFinder(CubeSolver solver, Rubik rubik, Form parent = null) { this.solver = solver; InitializeComponent(); if (parent != null) { this.Owner = parent; this.StartPosition = FormStartPosition.CenterParent; } this.ShowInTaskbar = false; AddStepLabels(solver); solver.TrySolveAsync(rubik); solver.OnSolutionStepCompleted += solver_OnSolutionStepCompleted; solver.OnSolutionError += solver_OnSolutionError; stepLabels[currentIndex].Text = "In progress ..."; stepImgs[currentIndex].Image = Properties.Resources.refresh; }