private void contextMenuStrip1_Opening(object sender, CancelEventArgs e)
        {
            // Enable/disable menu items based on the annotation.
            Atalasoft.Annotate.UI.AnnotationUI annotation = this.documentAnnotationViewer1.Annotations.ActiveAnnotation;
            Type at = annotation.GetType();

            borderColorToolStripMenuItem.Enabled = (at.GetProperty("Outline") != null);
            fillColorToolStripMenuItem.Enabled   = (at.GetProperty("Fill") != null && at.Name != "RubberStampAnnotation");
            textColorToolStripMenuItem.Enabled   = (at.GetProperty("FontBrush") != null);
            fontToolStripMenuItem.Enabled        = (at.GetProperty("Font") != null);
        }
        private void fontToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Atalasoft.Annotate.UI.AnnotationUI annotation = this.documentAnnotationViewer1.Annotations.ActiveAnnotation;
            Type at = annotation.GetType();

            System.Reflection.PropertyInfo info = at.GetProperty("Font");
            if (info == null)
            {
                return;
            }

            Atalasoft.Annotate.AnnotationFont font = info.GetValue(annotation, null) as Atalasoft.Annotate.AnnotationFont;
            if (font == null)
            {
                return;
            }

            FontStyle fontStyle = FontStyle.Regular;

            if (font.Bold)
            {
                fontStyle = FontStyle.Bold;
            }
            if (font.Italic)
            {
                fontStyle |= FontStyle.Italic;
            }
            if (font.Strikeout)
            {
                fontStyle |= FontStyle.Strikeout;
            }
            if (font.Underline)
            {
                fontStyle |= FontStyle.Underline;
            }

            using (FontDialog dlg = new FontDialog())
            {
                dlg.Font = new Font(font.Name, font.Size, fontStyle);
                if (dlg.ShowDialog(this) == DialogResult.OK)
                {
                    font = new Atalasoft.Annotate.AnnotationFont(dlg.Font.Name, dlg.Font.Size, dlg.Font.Bold, dlg.Font.Italic, dlg.Font.Underline, dlg.Font.Strikeout);
                    info.SetValue(annotation, font, null);
                }
            }
            UpdateAnnotationDefault(annotation);
        }