// Handle the "apply" button on this dialog. private void ApplyButtonClicked(Object sender, EventArgs e) { // Copy the font details into the dialog object. SetFont(); // Make sure that the font cannot be disposed just // in case the surrounding application keeps a copy. FontInfo info = new FontInfo(dialog.Font, false); info = (FontInfo)(fonts[info]); if (info != null) { info.disposable = false; } // Emit the "Apply" signal. dialog.EmitApply(e); }