Essential Diagram可以帮助开发人员创建各种常用的流程图,控件提供了多种节点图形、连接线类型,多种交互式功能,完全满足各种客户的需求,该产品可以同时用于Asp.NET/WInForm/WPF/ASP.NET MVC/SIlverlight等平台下。这篇文章主要介绍当鼠标移动到流程图上某个节点时如何高亮显示该节点,具体的代码如下:
Node globelNode;
Polygon PolygonNode;
public Timer timer1;
private void diagram1_MouseMove( object sender, MouseEventArgs e ) {
try
{
// Retrieves node under the mouse action
Node node1 = ( Node )this.diagram1.Controller.GetNodeUnderMouse( new Point( e.X, e.Y ) );
if ( node1 != null && ( node1.Name.ToString( ) != "TextNode" ) )
{
this.toolTip1.SetToolTip( this.diagram1, node1.Name );
this.toolTip1.Active = true;
globelNode = node1;
PolygonNode = node1 as Polygon;
defaultColor = PolygonNode.FillStyle.Color;
this.timer1.Start( );
}
else
{
this.toolTip1.Active = false;
this.timer1.Stop( );
}
}
catch
{
}
}
private void timer1_Tick( object sender, EventArgs e ) {
// Convert node as polygon
Polygon poly = globelNode as Polygon;
Random r = new Random( );
if (poly != null)
{
// Setting fillstyle for the ploygon
poly.FillStyle.Color = Color.FromArgb(r.Next(255), r.Next(255), r.Next(255));
globelNode.LineStyle.DashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
globelNode.LineStyle.LineWidth = 3;
// Resetting the node with default values
poly.FillStyle.Color = defaultColor;
globelNode.LineStyle.DashStyle = System.Drawing.Drawing2D.DashStyle.Solid;
globelNode.LineStyle.LineWidth = 1;
}
}