Beispiel #1
0
        /// <summary>
        /// Open the 'More Color' dialog, that is, a normal ColorDialog control.
        /// </summary>
        /// <returns></returns>
        private Color OpenMoreColorsDialog()
        {
            colorDialog.Color = Color;

            Form            parentForm = this.FindForm();
            ContextMenuForm contextFrm = parentForm as ContextMenuForm;

            if (contextFrm != null)
            {
                // Ignore lost focus events on owner context menu form
                contextFrm.Locked = true;
                colorDialog.ShowDialog(contextFrm);
                // Give the focus back to owner form
                if (_parentControl != null)
                {
                    _parentControl.FindForm().BringToFront();
                }
                // Active lost focus events on owner context menu form
                contextFrm.Locked = false;
            }
            else
            {
                colorDialog.ShowDialog(this); // (parentForm);
            }
            return(colorDialog.Color);
        }
Beispiel #2
0
 /// <summary>
 /// Overrides, when click on, handles color selection.
 /// </summary>
 /// <param name="e"></param>
 protected override void OnMouseClick(MouseEventArgs e)
 {
     base.OnMouseClick(e);
     // Check cursor, if on one of the buttons - hot track it
     for (int recIndex = 0; recIndex < buttons.Length; recIndex++)
     {
         if (buttons[recIndex].Contains(e.Location))
         {
             _currentSelected = recIndex;
             // More colors - open dialog
             if (_currentSelected == 40)
             {
                 Color = OpenMoreColorsDialog();
             }
             else
             {
                 Color = CustomColors.SelectableColors[recIndex];
                 colorToolTip.SetToolTip(this, CustomColors.SelectableColorsNames[recIndex]);
             }
             if (_contextForm != null)
             {
                 _contextForm.Hide();
             }
             _contextForm = null;
         }
     }
     this.Refresh();
 }
Beispiel #3
0
 /// <summary>
 /// Opens the control inside a context menu in the specified location
 /// </summary>
 /// <param name="startLocation">Screen coordinates location of the control</param>
 public void Show(Point startLocation)
 {
     // Creates new contextmenu form, adds the control to it, display it.
     _contextForm = new ContextMenuForm();
     _contextForm.SetContainingControl(this);
     _contextForm.Height = OfficeColorPicker.PreferredHeight;
     _contextForm.Show(this, startLocation, OfficeColorPicker.PreferredWidth);
 }
Beispiel #4
0
        /// <summary>
        /// Opens the control inside a context menu in the specified location
        /// </summary>
        /// <param name="startLocation">Screen coordinates location of the control</param>
        /// <param name="parent">Parent control to place the control at</param>
        public void Show(Control parent, Point startLocation)
        {
            _parentControl = parent;
            // Creates new contextmenu form, adds the control to it, display it.
            ContextMenuForm frm = new ContextMenuForm();

            frm.SetContainingControl(this);
            frm.Height   = OfficeColorPicker.PreferredHeight;
            _contextForm = frm;
            frm.Show(parent, startLocation, OfficeColorPicker.PreferredWidth);
        }