internal override void handleEvent(EventType type, Object sender, EventArgs e) { ControlsMap controlsMap = ControlsMap.getInstance(); MgPanel tabControlPanel = (MgPanel)sender; TabControl tabControl = ((TagData)(tabControlPanel.Tag)).ContainerTabControl; MapData mapData = controlsMap.getMapData(tabControl); switch (type) { case EventType.PAINT: ControlRenderer.FillRectAccordingToGradientStyle(((PaintEventArgs)e).Graphics, tabControlPanel.ClientRectangle, tabControlPanel.BackColor, tabControlPanel.ForeColor, ControlStyle.NoBorder, false, tabControlPanel.GradientColor, tabControlPanel.GradientStyle); break; } DefaultContainerHandler.getInstance().handleEvent(type, (Control)sender, e, mapData); if (type == EventType.DISPOSED) { tabControl.Tag = null; } }
/// <summary> /// paint background /// </summary> /// <param name = "g"></param> /// <param name = "rect"></param> /// <param name = "bgColor"></param> /// <param name = "fgColor"></param> /// <param name = "keepColor"></param> internal virtual void paintBackground(Graphics g, Rectangle rect, Color bgColor, Color fgColor, bool keepColor) { #if PocketPC offsetStaticControlRect(ref rect); #endif if (GuiMgControl.SupportGradient() && keepColor) { ControlRenderer.FillRectAccordingToGradientStyle(g, rect, BgColor, FgColor, Style, false, GradientColor, GradientStyle); } else { ControlRenderer.PaintBackGround(g, rect, bgColor, true); } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> internal static void MgPanel_Paint(object sender, PaintEventArgs e) { Control ctrl = sender as MgPanel; // for mgpanel with parent MgTabPage set paint event if (ctrl is MgPanel && ctrl.Parent is MgTabPage) { MgPanel senderMgPanel = (MgPanel)sender; ControlRenderer.FillRectAccordingToGradientStyle(((PaintEventArgs)e).Graphics, senderMgPanel.ClientRectangle, senderMgPanel.BackColor, senderMgPanel.ForeColor, ControlStyle.NoBorder, false, senderMgPanel.GradientColor, senderMgPanel.GradientStyle); } else { ControlRenderer.PaintMgPanel(ctrl, e.Graphics); } }