/****************************** * 说明:流转步骤控件 * 创建人:龚宇超 * 创建日期:2019-06-21 * 修改人: * 修改日期: * 修改备注: * 版本:1.0.0.0 ******************************/ using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Windows.Forms; namespace Lskj.BaseWorkflow.Control { public partial class StepItem2 : UserControl { /// /// 默认选中 /// private static StepItem2 mDdefaultItem; /// /// 标题对象 /// /// The title label object. public Label TitleLabelObj { get { return btn_item_title; } } /// /// 删除对象 /// /// The delete pabel object. public Panel DeletePabelObj { get { return PlDel; } } private ButtonHoverEventHandler hoverEvent; public delegate void ButtonHoverEventHandler(StepItem2 before, StepItem2 after); public StepItem2() { InitializeComponent(); } /// /// 说明:设置默认选中的Button /// 创建人:龚宇超 /// 创建日期:2017-08-16 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The item. public void SetDefaultSelectItem(StepItem2 item) { mDdefaultItem = item; mDdefaultItem.SetItemState(MenuButtonState.selectState); } /// /// 说明:设置菜单状态状态 /// 创建人:龚宇超 /// 创建日期:2017-08-16 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The state. public void SetItemState(MenuButtonState state) { switch (state) { case MenuButtonState.defaultState: this.BackColor = Color.White; btn_item_title.ForeColor = Color.Black; break; case MenuButtonState.selectState: this.BackColor = ColorTranslator.FromHtml("#3E92F8"); btn_item_title.ForeColor = Color.White; break; } } /// /// 说明:注册鼠标划过事件 /// 创建人:龚宇超 /// 创建日期:2017-08-16 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The hover event. /// Type of the event. public void SetHoverEvent(ButtonHoverEventHandler hoverEvent) { this.hoverEvent = hoverEvent; this.MouseClick += new MouseEventHandler(this.OnStepItemClick); } /// /// 说明: /// 创建人:龚宇超 /// 创建日期:2019-06-21 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The source of the event. /// The instance containing the event data. void OnStepItemClick(object sender, EventArgs e) { StepItem2 item = null; if (sender is StepItem2) item = sender as StepItem2; if (sender is Label) item = (sender as Label).Parent as StepItem2; if (item != null) { if (mDdefaultItem != null) { mDdefaultItem.SetItemState(MenuButtonState.defaultState); } item.SetItemState(MenuButtonState.selectState); } if (mDdefaultItem != item) { if (hoverEvent != null) { this.hoverEvent(mDdefaultItem, item); } mDdefaultItem = item; } } /// /// 菜单状态 /// public enum MenuButtonState { defaultState, selectState } } }