コード例 #1
0
ファイル: MainForm.cs プロジェクト: yeethawe/MapleShark2
        private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
        {
            // Try to close all sessions
            List <SessionForm> sessionForms = new List <SessionForm>();

            foreach (var form in mDockPanel.Contents)
            {
                if (form is SessionForm)
                {
                    sessionForms.Add(form as SessionForm);
                }
            }

            int  sessions          = sessionForms.Count;
            bool doSaveQuestioning = true;

            if (sessions > 5)
            {
                doSaveQuestioning = MessageBox.Show("You've got " + sessions + " sessions open. Say 'Yes' if you want to get a question for each session, 'No' if you want to quit MapleShark.", "MapleShark", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes;
            }

            while (doSaveQuestioning && sessionForms.Count > 0)
            {
                SessionForm ses = sessionForms[0];
                if (!ses.Saved)
                {
                    ses.Focus();
                    DialogResult result = MessageBox.Show(string.Format("Do you want to save the session '{0}'?", ses.Text), "MapleShark", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning);

                    if (result == DialogResult.Yes)
                    {
                        ses.RunSaveCMD();
                    }
                    else if (result == DialogResult.Cancel)
                    {
                        e.Cancel = true;

                        return;
                    }
                }
                mDockPanel.Contents.Remove(ses);
                sessionForms.Remove(ses);
            }

            DefinitionsContainer.Instance.Save();
        }