/// <summary>
        /// Event handler for the drop down opening
        /// </summary>
        /// <param name="sender">The sender</param>
        /// <param name="e">The args</param>
        internal virtual void HandleParentButtonDropDown(object sender, EventArgs e)
        {
            if (this.CurrentStylusEntry == null || this.CurrentStylusEntry.DrawingAttributes == null)
            {
                return;
            }
            Form         options = new PropertiesForm.PenPropertiesPage(this.m_Model.PenState, this.CurrentStylusEntry.DrawingAttributes, this.CurrentStylusEntry.PenType == PenType.Pen);
            DialogResult result  = options.ShowDialog();

            // Force an update, since there's no way to change the DrawingAttributes instance.
            this.CurrentStylusEntry = this.CurrentStylusEntry;
            if (this.m_CurrentStylus != null && this.CurrentStylusEntry != null)
            {
                using (Synchronizer.Lock(this.m_CurrentStylus.SyncRoot)) {
                    this.m_CurrentStylus.DrawingAttributes = this.CurrentStylusEntry.DrawingAttributes.Clone();
                }
            }
        }
        /// <summary>
        /// Event handler for the drop down opening
        /// </summary>
        /// <param name="sender">The sender</param>
        /// <param name="e">The args</param>
        internal virtual void HandleParentButtonDropDown(object sender, EventArgs e)
        {
            if (this.CurrentStylusEntry == null || this.CurrentStylusEntry.DrawingAttributes == null)
                return;
            Form options = new PropertiesForm.PenPropertiesPage(this.m_Model.PenState, this.CurrentStylusEntry.DrawingAttributes, this.CurrentStylusEntry.PenType == PenType.Pen);
            DialogResult result = options.ShowDialog();

            // Force an update, since there's no way to change the DrawingAttributes instance.
            this.CurrentStylusEntry = this.CurrentStylusEntry;
            if (this.m_CurrentStylus != null && this.CurrentStylusEntry != null) {
                using (Synchronizer.Lock(this.m_CurrentStylus.SyncRoot)) {
                    this.m_CurrentStylus.DrawingAttributes = this.CurrentStylusEntry.DrawingAttributes.Clone();
                }
            }
        }