📄 第五章 工作流定义工具的设计与实现(三)_宪华_新浪博客.mht
字号:
p;<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>=
=20
//=E8=8A=82=E7=82=B9=E7=9F=A9=E5=BD=A2=E7=9A=84=E5=AE=BD=E5=BA=A6=E5=92=8C=
=E9=95=BF=E5=BA=A6=EF=BC=88=E5=8D=95=E4=BD=8D=E5=83=8F=E7=B4=A0=EF=BC=89<=
BR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&nbs=
p;<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>=
=20
public int=20
Width;<BR> <WBR> <WBR> <WBR> <WBR> <WBR> <W=
BR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&nbs=
p;<WBR>=20
public int Height;</P>
<P> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&nbs=
p;<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>=
<WBR>//=E8=8A=82=E7=82=B9=E5=90=8D=E7=A7=B0<BR> <WBR> <WB=
R> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR> =
;<WBR> <WBR> <WBR> <WBR> <WBR>=20
public string NodeName;</P>
<P> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&nbs=
p;<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>=
=20
//=E8=8A=82=E7=82=B9=E7=B1=BB=E5=9E=8B=EF=BC=88=E6=9E=9A=E4=B8=BE=E7=B1=BB=
=E5=9E=8B=E5=8F=98=E9=87=8F=EF=BC=8C=E5=90=8E=E9=9D=A2=E6=9C=89=E5=AE=9A=E4=
=B9=89=EF=BC=89<BR> <WBR> <WBR> <WBR> <WBR> <WBR=
> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR> =
<WBR> <WBR>=20
public nodetypedefine NodeType;</P>
<P> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&nbs=
p;<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>=
=20
//=E8=8A=82=E7=82=B9=E7=9A=84=E8=BF=87=E7=A8=8B=E9=80=BB=E8=BE=91=E5=B1=9E=
=E6=80=A7=EF=BC=88=E5=A6=82=E2=80=9CAndJoin=E2=80=9D=EF=BC=8C=E8=A1=A8=E7=
=A4=BA=E5=B9=B6=E8=A1=8C=E8=BF=9E=E6=8E=A5=EF=BC=89<BR> <WBR> <=
WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&nb=
sp;<WBR> <WBR> <WBR> <WBR> <WBR>=20
public string=20
ProcessLogic=3D"";<BR> <WBR> <WBR> <WBR> <WBR> <=
WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&nb=
sp;<WBR> <WBR> <WBR>//=E6=9E=84=E9=80=A0=E5=87=BD=E6=95=B0<BR>&=
nbsp;<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <W=
BR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>=20
public=20
NodeClass()<BR> <WBR> <WBR> <WBR> <WBR> <WBR>&nb=
sp;<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR=
> <WBR>=20
{<BR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&n=
bsp;<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WB=
R> <WBR> <WBR> <WBR> <WBR>=20
LeftTopX=3D-1;<BR> <WBR> <WBR> <WBR> <WBR> <WBR>=
<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <=
WBR> <WBR> <WBR> <WBR> <WBR> <WBR>=20
LeftTopY=3D-1;<BR> <WBR> <WBR> <WBR> <WBR> <WBR>=
<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <=
WBR> <WBR> <WBR>}<BR> <WBR> <WBR> <WBR> <WB=
R> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR> =
;<WBR> <WBR> <WBR>=20
public NodeClass(float x,float=20
y)<BR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&=
nbsp;<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <W=
BR>=20
{<BR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&n=
bsp;<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WB=
R> <WBR> <WBR> <WBR> <WBR>=20
LeftTopX=3Dx;<BR> <WBR> <WBR> <WBR> <WBR> <WBR>&=
nbsp;<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <W=
BR> <WBR> <WBR> <WBR> <WBR>=20
<WBR>LeftTopY=3Dy;<BR> <WBR> <WBR> <WBR> <WBR>&=
nbsp;<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <W=
BR> <WBR>=20
<WBR>}</P>
<P> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&nbs=
p;<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>=
<WBR>//=E5=88=A4=E6=96=AD=E6=98=AF=E5=90=A6=E5=90=8C=E4=B8=80=E8=8A=
=82=E7=82=B9<BR> <WBR> <WBR> <WBR> <WBR> <WBR>&n=
bsp;<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WB=
R> <WBR>=20
public bool IsSameNode(NodeClass=20
node)<BR> <WBR> <WBR> <WBR> <WBR> <WBR> <WB=
R> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR> =
;<WBR>=20
{<BR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&n=
bsp;<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WB=
R> <WBR> <WBR> <WBR> <WBR> <WBR>=20
if((int)this.LeftTopX =3D=3D (int)node.LeftTopX & =
(int)this.LeftTopY</P>
<P> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&nbs=
p;<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>=
<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <=
WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&nb=
sp;<WBR> <WBR> <WBR>=20
<WBR>=3D=3D (int)node.LeftTopY & this.NodeName =3D=3D=20
node.NodeName)<BR> <WBR> <WBR> <WBR> <WBR> <WBR>=
<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <=
WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&nb=
sp;<WBR> <WBR> <WBR> <WBR> <WBR>=20
return=20
true;<BR> <WBR> <WBR> <WBR> <WBR> <WBR> <WB=
R> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR> =
;<WBR> <WBR> <WBR> <WBR> <WBR> <WBR>=20
else<BR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR=
> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR> =
<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&n=
bsp;<WBR> <WBR> <WBR> <WBR>=20
return=20
false;<BR> <WBR> <WBR> <WBR> <WBR> <WBR> <W=
BR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&nbs=
p;<WBR>=20
}</P>
<P> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&nbs=
p;<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>=
=20
//=E5=88=A4=E6=96=AD=E9=BC=A0=E6=A0=87=E7=82=B9=E5=87=BB=E4=BD=8D=E7=BD=AE=
=E6=98=AF=E5=90=A6=E5=9C=A8=E5=BD=93=E5=89=8D=E8=8A=82=E7=82=B9=E6=A1=86=E5=
=86=85<BR> <WBR> <WBR> <WBR> <WBR> <WBR> <W=
BR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&nbs=
p;<WBR>=20
public bool IsPointInNode(float x,float=20
y)<BR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&=
nbsp;<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <W=
BR>=20
{<BR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&n=
bsp;<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WB=
R> <WBR> <WBR> <WBR> <WBR> <WBR>=20
if(x >=3D this.LeftTopX & y>=3Dthis.LeftTopY &=20
x<=3Dthis.LeftTopX+this.Width</P>
<P> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&nbs=
p;<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>=
<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <=
WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&nb=
sp;<WBR> <WBR> <WBR>=20
&=20
y<=3Dthis.LeftTopY+this.Height)<BR> <WBR> <WBR> <WBR>&n=
bsp;<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WB=
R> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR> =
;<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&=
nbsp;<WBR> <WBR>return=20
true;<BR> <WBR> <WBR> <WBR> <WBR> <WBR> <WB=
R> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR> =
;<WBR> <WBR> <WBR> <WBR> <WBR> <WBR>=20
else<BR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR=
> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR> =
<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&n=
bsp;<WBR> <WBR> <WBR> <WBR> <WBR>=20
return=20
false;<BR> <WBR> <WBR> <WBR> <WBR> <WBR> <W=
BR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&nbs=
p;<WBR>=20
}<BR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&n=
bsp;<WBR> <WBR> <WBR>=20
}</P>
<P> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&nbs=
p;<WBR> <WBR> <WBR>=20
//=E8=AE=B0=E5=BD=95=E8=8A=82=E7=82=B9=E7=B1=BB=E5=9E=8B=E7=9A=84=E6=9E=9A=
=E4=B8=BE=E7=B1=BB=E5=9E=8B=E5=AE=9A=E4=B9=89<BR> <WBR> <WBR>&n=
bsp;<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WB=
R>=20
public enum=20
nodetypedefine<BR> <WBR> <WBR> <WBR> <WBR> <WBR>=
<WBR> <WBR> <WBR> <WBR>=20
{<BR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&n=
bsp;<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WB=
R> <WBR>=20
notask=3D0,start,end,tasknode,andsplit,orsplit,andjoin,orjoin,transition<=
BR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&nbs=
p;<WBR> <WBR> <WBR>=20
} <WBR> <WBR> <WBR><BR> <WBR> <WBR> <WBR> =
}</P>
<P> <WBR> <WBR> <WBR>=20
<STRONG>2=E3=80=81=E4=BF=9D=E5=AD=98=E8=8A=82=E7=82=B9=E9=9B=86=E7=9A=84=E9=
=9B=86=E5=90=88=E7=B1=BBNodeRecords.cs</STRONG></P>
<P> <WBR> <WBR> <WBR> using=20
System;<BR> <WBR> <WBR> <WBR> using=20
System.Collections;<BR> <WBR> <WBR> <WBR> using=20
System.Data;<BR> <WBR> <WBR> <WBR> using=20
System.Data.SqlClient;<BR> <WBR> <WBR> <WBR> using=20
System.Windows.Forms;</P>
<P> <WBR> <WBR> <WBR> namespace=20
drawtaskbytoolbar<BR> <WBR> <WBR> <WBR>=20
{<BR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&n=
bsp;<WBR>=20
<WBR>public class=20
NodeRecords<BR> <WBR> <WBR> <WBR> <WBR> <WBR>&nb=
sp;<WBR> <WBR> <WBR>=20
{<BR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&n=
bsp;<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WB=
R>=20
//=E4=BF=9D=E5=AD=98=E6=89=80=E7=94=BB=E8=8A=82=E7=82=B9=E7=9A=84=E5=AF=B9=
=E8=B1=A1=E6=95=B0=E7=BB=84<BR> <WBR> <WBR> <WBR> <WB=
R> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR> =
;<WBR> <WBR> <WBR>=20
public ArrayList nodeList=3Dnew ArrayList();</P>
<P> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&nbs=
p;<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>=
=20
//=E7=A9=BA=E6=9E=84=E9=80=A0=E5=87=BD=E6=95=B0 <WBR> <WBR>&nbs=
p;<WBR><BR> <WBR> <WBR> <WBR> <WBR> <WBR> <=
WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&nb=
sp;<WBR>=20
public NodeRecords()=EF=BD=9B=EF=BD=9D</P>
<P> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&nbs=
p;<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>=
<WBR>//=E6=B7=BB=E5=8A=A0=E8=8A=82=E7=82=B9<BR> <WBR> <WB=
R> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR> =
;<WBR> <WBR> <WBR> <WBR> <WBR>=20
public bool AddNode(NodeClass=20
node)<BR> <WBR> <WBR> <WBR> <WBR> <WBR> <WB=
R> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR> =
;<WBR>=20
{<BR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&n=
bsp;<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WB=
R> <WBR> <WBR> <WBR> <WBR>=20
nodeList.Add(node);<BR> <WBR> <WBR> <WBR> <WBR> =
<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&n=
bsp;<WBR> <WBR> <WBR> <WBR> <WBR> <WBR>=20
return=20
true;<BR> <WBR> <WBR> <WBR> <WBR> <WBR> <WB=
R> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR> =
;<WBR>=20
}</P>
<P> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&nbs=
p;<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>=
=20
//=E5=88=A0=E9=99=A4=E8=8A=82=E7=82=B9</P>
<P> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&nbs=
p;<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>=
=20
public bool DeleteNode(NodeClass=20
node)<BR> <WBR> <WBR> <WBR> <WBR> <WBR> <WB=
R> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR> =
;<WBR>=20
{<BR> <WBR> <WBR> <WBR> <WBR> <WBR> <WBR>&n=
bsp;<WBR> <WBR> <WBR> <WBR> <WBR> <WBR> <WB=
R> <WBR> <WBR> <WBR> <WBR>=20
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -