public static void RegisterHightlightControls(Control containerControl,eHighlightColor color, HightlightFireAction action,params Control[] controls) { Highlighter highlighter = null; if (dicContainerHighlighter.ContainsKey(containerControl)) highlighter = dicContainerHighlighter[containerControl]; else { highlighter = new Highlighter(); highlighter.ContainerControl = containerControl; dicContainerHighlighter.Add(containerControl, highlighter); } foreach (Control control in controls) { if (!dicControlHighlighterColor.ContainsKey(control)) dicControlHighlighterColor.Add(control, new KeyValuePair<eHighlightColor, Control>()); dicControlHighlighterColor[control]=new KeyValuePair<eHighlightColor,Control>(color,containerControl); switch (action) { case HightlightFireAction.OnFocus: control.Enter -= new EventHandler(control_Highlight); control.Leave -= new EventHandler(control_ClearHighlight); control.Enter += new EventHandler(control_Highlight); control.Leave += new EventHandler(control_ClearHighlight); break; case HightlightFireAction.OnMouseEnter: control.MouseEnter -= new EventHandler(control_Highlight); control.MouseLeave -= new EventHandler(control_ClearHighlight); control.MouseEnter += new EventHandler(control_Highlight); control.MouseLeave += new EventHandler(control_ClearHighlight); break; } } }
private void timer1_Tick(object sender, EventArgs e) { eHighlightColor color = (eHighlightColor)(rotator++ % 4); if (color == eHighlightColor.Red) { Random r = new Random((int)DateTime.Now.Ticks); int index = r.Next(2, 4); color = (eHighlightColor)index; } // highlighter1.SetHighlightColor(progressBarX1, color); }
private Color[] GetHighlightColors(eHighlightColor color) { Color[] colors = new Color[3]; if (color == eHighlightColor.Blue) { colors[0] = ColorScheme.GetColor(172, 0x6A9CD4); colors[1] = ColorScheme.GetColor(0x6A9CD4); colors[2] = ColorScheme.GetColor(0x5D7EA4); } else if (color == eHighlightColor.Orange) { colors[0] = ColorScheme.GetColor(172, 0xFF9C00); colors[1] = ColorScheme.GetColor(0xFF9C00); colors[2] = ColorScheme.GetColor(0xCC6600); } else if (color == eHighlightColor.Green) { colors[0] = ColorScheme.GetColor(172, 0x71B171); colors[1] = ColorScheme.GetColor(0x71B171); colors[2] = ColorScheme.GetColor(0x339933); } else if (color == eHighlightColor.Custom) { if (_CustomHighlightColors == null || _CustomHighlightColors.Length < 3) { colors[0] = Color.Red; colors[1] = Color.Red; colors[2] = Color.Red; } else { colors[0] = _CustomHighlightColors[0]; colors[1] = _CustomHighlightColors[1]; colors[2] = _CustomHighlightColors[2]; } } else { colors[0] = ColorScheme.GetColor(172, 0xC63030); colors[1] = ColorScheme.GetColor(0xC63030); colors[2] = ColorScheme.GetColor(0x990000); } return colors; }
public static void RegisterHightlightControls(Control containerControl, eHighlightColor color, HightlightFireAction action, params Control[] controls) { Highlighter highlighter = null; if (dicContainerHighlighter.ContainsKey(containerControl)) { highlighter = dicContainerHighlighter[containerControl]; } else { highlighter = new Highlighter(); highlighter.ContainerControl = containerControl; dicContainerHighlighter.Add(containerControl, highlighter); } foreach (Control control in controls) { if (!dicControlHighlighterColor.ContainsKey(control)) { dicControlHighlighterColor.Add(control, new KeyValuePair <eHighlightColor, Control>()); } dicControlHighlighterColor[control] = new KeyValuePair <eHighlightColor, Control>(color, containerControl); switch (action) { case HightlightFireAction.OnFocus: control.Enter -= new EventHandler(control_Highlight); control.Leave -= new EventHandler(control_ClearHighlight); control.Enter += new EventHandler(control_Highlight); control.Leave += new EventHandler(control_ClearHighlight); break; case HightlightFireAction.OnMouseEnter: control.MouseEnter -= new EventHandler(control_Highlight); control.MouseLeave -= new EventHandler(control_ClearHighlight); control.MouseEnter += new EventHandler(control_Highlight); control.MouseLeave += new EventHandler(control_ClearHighlight); break; } } }
private void AddHighlight(Dictionary<Control, eHighlightColor> highlights, Control c, eHighlightColor highlightColor) { highlights.Add(c, highlightColor); c.LocationChanged += new EventHandler(ControlLocationChanged); c.SizeChanged += new EventHandler(ControlSizeChanged); c.VisibleChanged += new EventHandler(ControlVisibleChanged); if (_HighlightPanel != null) { if (!_HighlightPanel.Visible) _HighlightPanel.Visible = true; _HighlightPanel.BringToFront(); } if(c.Parent == null) c.ParentChanged += ControlParentChanged; else AddTabControlHandlers(c); UpdateHighlighterRegion(); }
/// <summary> /// Sets the highlight color for the control. /// </summary> /// <param name="c">Reference to supported control.</param> /// <param name="highlightColor">Highlight color.</param> public void SetHighlightColor(Control c, eHighlightColor highlightColor) { if (_Highlights.ContainsKey(c)) { if (highlightColor == eHighlightColor.None) { RemoveHighlight(_Highlights, c); } else { eHighlightColor color = _Highlights[c]; RemoveHighlight(_Highlights, c); AddHighlight(_Highlights, c, highlightColor); } } else if (highlightColor != eHighlightColor.None) { AddHighlight(_Highlights, c, highlightColor); } }
/// <summary> /// Initializes a new instance of the HighlightRegion structure. /// </summary> /// <param name="bounds"></param> /// <param name="backColor"></param> /// <param name="highlightColor"></param> public HighlightRegion(Rectangle bounds, Color backColor, eHighlightColor highlightColor) { Bounds = bounds; BackColor = backColor; HighlightColor = highlightColor; }