private void punchPatternsMenu_Click(object sender, EventArgs e) { // Get all the punch patterns and the punch card layout. Dictionary<string, PunchPattern> allPatterns = controller.GetAllPunchPatterns(); PunchcardFormat punchcardFormat = controller.GetPunchcardFormat(); // Initialize the dialog. PunchPatternDialog dialog = new PunchPatternDialog(); dialog.AllPunchPatterns = allPatterns; dialog.PunchcardFormat = punchcardFormat; // Show the dialog. DialogResult result = dialog.ShowDialog(this); // Apply the changes. if (result == DialogResult.OK) { if (!dialog.PunchcardFormat.Equals(punchcardFormat)) controller.SetPunchcardFormat(dialog.PunchcardFormat); controller.SetAllPunchPatterns(dialog.AllPunchPatterns); } dialog.Dispose(); }