📄 taskstepbutton.cs
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Windows.Forms;
using DS.EMIS.StartPrepare.Common;
namespace DS.EMIS.StartPrepare
{
/// <summary>
/// TaskStepButton 的摘要说明。
/// </summary>
public class TaskStepButton : System.Windows.Forms.Button//DS.Win.Misc.UltraButton
{
#region ###控件变量###
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;
#region 组件设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器
/// 修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
//
// TaskStepButton
//
this.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
this.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));
this.Size = new System.Drawing.Size(108, 68);
this.Click += new System.EventHandler(this.TaskStepButton_Click);
}
#endregion
#endregion
#region ### CTOR & Dispose ###
#region CTOR
public TaskStepButton(System.ComponentModel.IContainer container)
{
///
/// Windows.Forms 类撰写设计器支持所必需的
///
container.Add(this);
InitializeComponent();
SetStepButtonStyle();
//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}
public TaskStepButton()
{
///
/// Windows.Forms 类撰写设计器支持所必需的
///
InitializeComponent();
SetStepButtonStyle();
//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}
#endregion
#region Dispose
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if(components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#endregion
#endregion
#region ### 自定义变量 ###
#endregion
#region ### 自定义属性 ###
#region NextTaskStepBtns
private IList nextTaskStepBtns = new ArrayList();
public IList NextTaskStepBtns
{
get{return this.nextTaskStepBtns;}
set{this.nextTaskStepBtns = value;}
}
#endregion
#region PreTaskStepBtns
private IList preTaskStepBtns = new ArrayList();
public IList PreTaskStepBtns
{
get{return this.preTaskStepBtns;}
set{this.preTaskStepBtns = value;}
}
#endregion
#region TaskStepBtnState
private TaskStepState taskStepBtnState;
public TaskStepState TaskStepBtnState
{
get{return this.taskStepBtnState;}
set
{
this.taskStepBtnState = value;
//if(CtrlTaskStepWinzard.SetStateFlag)
CatchStateChange(this.taskStepBtnState);
}
}
#endregion
#region NextTaskStepImages
private IList nextTaskStepImages = new ArrayList();
public IList NextTaskStepImages
{
get{return this.nextTaskStepImages;}
set{this.nextTaskStepImages = value;}
}
#endregion
#region PreTaskStepImages
private IList preTaskStepImages = new ArrayList();
public IList PreTaskStepImages
{
get{return this.preTaskStepImages;}
set{this.preTaskStepImages = value;}
}
#endregion
#region TaskStepStaticValue
private TaskStaticValue taskStepStaticValue;
public TaskStaticValue TaskStepStaticValue
{
get{return this.taskStepStaticValue;}
set
{
this.taskStepStaticValue=value;
this.TaskFormName = taskStepStaticValue.FrmName;
this.TaskStepBtnKey = taskStepStaticValue.BtnKey;
this.TaskStepBtnState = taskStepStaticValue.TaskState;
DS.EMIS.StartPrepare.Common.GlobalObject.Instance.LocalSession.OnMsgEventHndler
(
this.TaskFormName,
new DS.EMIS.StartPrepare.Common.CommonSession.MsgEventHandler(this.ReceiveMsg)
);
}
}
#endregion
#region TaskFormName
private string taskFormName = String.Empty;
public string TaskFormName
{
get{return this.taskFormName;}
set{this.taskFormName = value;}
}
#endregion
#region TaskStepBtnKey
private string taskStepBtnKey = String.Empty;
public string TaskStepBtnKey
{
get{return this.taskStepBtnKey;}
set{this.taskStepBtnKey = value;}
}
#endregion
#region TaskStepTaskName
private string taskStepTaskName = String.Empty;
public string TaskStepTaskName
{
get{return this.taskStepTaskName;}
set{this.taskStepTaskName = value;}
}
#endregion
#endregion
#region ### 自定义方法 ###
#region SetStepButtonStyle
public void SetStepButtonStyle()
{
//Color
this.BackColor = Color.FromKnownColor(KnownColor.Control);
}
#endregion
#region SetTaskStepButton
/// <summary>
/// 设置任务步骤按钮
/// </summary>
public virtual void SetTaskStepButton()
{
}
#endregion
#region CatchStateChange
// public virtual void CatchStateChange(TaskStepState changedState)
// {
// switch(changedState)
// {
// case TaskStepState.Undo :
// {
// if(this.NextTaskStepBtns != null)
// {
// foreach(TaskStepButton nextBtn in this.NextTaskStepBtns)
// {
// nextBtn.BackColor = Color.FromKnownColor(KnownColor.Control);
// }
// }
// if(this.PreTaskStepBtns != null)
// {
// foreach(TaskStepButton preBtn in this.PreTaskStepBtns)
// {
// switch(preBtn.TaskStepBtnState)
// {
// case TaskStepState.Done:
// {
// preBtn.TaskStepBtnState = TaskStepState.Todo;
// break;
// }
// default :
// {
// this.Enabled = false;
// break;
// }
// }
// }
// }
// if(this.NextTaskStepImages != null)
// {
// foreach(TaskStepImage nextImg in this.NextTaskStepImages)
// {
// nextImg.TaskImageState = TaskStepState.Doing;
// }
// }
// if(this.PreTaskStepImages != null)
// {
// foreach(TaskStepImage preImg in this.PreTaskStepImages)
// {
// preImg.TaskImageState = TaskStepState.Done;
// }
// }
// break;
// }
// case TaskStepState.Done :
// {
// this.Enabled = true;
// this.BackColor = Color.FromKnownColor(KnownColor.Window);
// if(this.PreTaskStepBtns != null)
// {
// foreach(TaskStepButton preBtn in this.PreTaskStepBtns)
// {
// if(preBtn.TaskStepBtnState.Equals(TaskStepState.Undo))
// preBtn.TaskStepBtnState = TaskStepState.Todo;
// else if(preBtn.TaskStepBtnState.Equals(TaskStepState.Done))
// preBtn.TaskStepBtnState = TaskStepState.Done;
// }
// }
// if(this.NextTaskStepImages != null)
// {
// foreach(TaskStepImage nextImg in this.NextTaskStepImages)
// {
// nextImg.TaskImageState = TaskStepState.Doing;
// }
// }
// if(this.PreTaskStepImages != null)
// {
// foreach(TaskStepImage preImg in this.PreTaskStepImages)
// {
// preImg.TaskImageState = TaskStepState.Done;
// }
// }
// break;
// }
// case TaskStepState.Doing :
// {
// this.Enabled = true;
// this.BackColor = Color.FromKnownColor(KnownColor.InactiveCaptionText);
// break;
// }
// case TaskStepState.Todo :
// {
// this.Enabled = true;
// break;
// }
// default :
// {
// break;
// }
// }
// }
#endregion
#region CatchStateChange
public void CatchStateChange(TaskStepState changedState)
{
switch(this.TaskStepBtnState)
{
case TaskStepState.Done :
{
this.BackColor = Color.FromKnownColor(KnownColor.Window);
if(this.NextTaskStepImages != null)
{
foreach(TaskStepImage nextImg in this.NextTaskStepImages)
{
nextImg.TaskImageState = TaskStepState.Doing;
}
}
if(this.PreTaskStepImages != null)
{
foreach(TaskStepImage preImg in this.PreTaskStepImages)
{
preImg.TaskImageState = TaskStepState.Done;
}
}
if(this.NextTaskStepBtns!=null)
{
foreach(TaskStepButton nextBtn in this.NextTaskStepBtns)
{
nextBtn.TaskStepBtnState = TaskStepState.Todo;
}
}
break;
}
case TaskStepState.Undo :
{
this.Enabled = false;
if(this.PreTaskStepBtns!=null)
{
foreach(TaskStepButton preBtn in this.PreTaskStepBtns)
{
if( preBtn.TaskStepBtnState.Equals(TaskStepState.Done) )
{
this.Enabled = true;
break;
}
}
}
break;
}
case TaskStepState.Todo :
{
this.Enabled = true;
break;
}
case TaskStepState.Doing :
{
//this.Enabled = true;
this.BackColor = Color.FromKnownColor(KnownColor.InactiveCaptionText);
break;
}
default :
{break;}
}
}
#endregion
#region 定义事件声明
public object ReceiveMsg(string sourceName,string typeName,object typeObj)
{
if(sourceName.ToUpper().Equals(this.TaskStepTaskName.ToUpper()))
this.TaskStepBtnState= (TaskStepState)typeObj;
return null;
}
#endregion
#endregion
#region ### 自定义事件 ###
#endregion
#region ### 控件事件方法 ###
protected void TaskStepButton_Click(object sender, System.EventArgs e)
{
}
#endregion
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -