private void newProjectButton_Click(object sender, EventArgs e) { if (currentProject != null) { var result = MessageBox.Show("There is an open project, save it?", "New project...", MessageBoxButtons.YesNoCancel); switch (result) { case DialogResult.Yes: if (!SaveProject()) { return; } break; case DialogResult.Cancel: return; } foreach (var anm in animations) { anm.FormClosed -= Anm_FormClosed; anm.Close(); anm.Dispose(); } animations.Clear(); currentProject = null; foreach (var child in MdiChildren) { if (child is ToolbarContainer) { continue; } child.Close(); child.Dispose(); if (child is CharSetEditor) { var edit = child as CharSetEditor; edit.Export -= Editor_Export; edit.Save -= Editor_Save; edit.Update -= Editor_Update; edit.FormClosed -= Editor_FormClosed; } } if (csManager != null) { csManager.CharSetSelected -= CsManager_CharSetSelected; csManager.CharSetDeleted -= CsManager_CharSetDeleted; csManager.CharSetUp -= CsManager_CharSetUp; csManager.CharSetDown -= CsManager_CharSetDown; csManager.Close(); csManager.Dispose(); csManager = null; } PluginManager.ProjectUnload(); } currentProject = new Project { Name = "Unnamed" }; this.Text = "Editing project (Unnamed)"; csManager = new CharSetListManager(true, true); csManager.MdiParent = this; csManager.Show(); csManager.Height = this.ClientSize.Height - (mainToolbar.Height + statusStrip.Height + 5); csManager.Left = this.ClientSize.Width - (csManager.Width + 5); csManager.Top = 0; csManager.CharSetSelected += CsManager_CharSetSelected; csManager.CharSetDeleted += CsManager_CharSetDeleted; csManager.CharSetUp += CsManager_CharSetUp; csManager.CharSetDown += CsManager_CharSetDown; PluginManager.NewProject(); EnableProjectButtons(); }