for (i = this.Controls.Count - 1; i > 0; i--)
{
if (this.Controls[i].Name.IndexOf("Anchor") == 0 || this.Controls[i].Name.IndexOf("Node") == 0)
this.Controls.Remove(this.Controls[i]);
}
resetall();
SetRandomAnchor();
SetRandomNode();
}
}
else
{
SetRandomAnchor();
SetRandomNode();
generate = true;
}
}
图5.1 节点部署
生成的锚节点坐标已知,在程序中用△表示。生成的未知节点坐标未知,用○表示。
当鼠标停留在锚节点上时,锚节点的△会有一个增大变色效果以凸显出该锚节点,方便用户区分选中的锚节点。同时,鼠标停留在该锚点上时会显示出这个锚节点的坐标。代码如下:
public void anchor_MouseHover(object sender, System.EventArgs e)
{
Label Anchor = (Label)sender;
Anchor.ForeColor = Color.Blue;
Anchor.Font = new Font("宋体", 6);
Anchor.Size = new Size(9, 9);
this.toolTip1.SetToolTip(Anchor,Anchor.Tag.ToString());
}
public void anchor_MouseLeave(object sender, System.EventArgs e)
{
Label Anchor = (Label)sender;
Anchor.ForeColor = Color.Black;
Anchor.Font = new Font("宋体", 5);
Anchor.Size = new Size(8, 8);
}
图5.2 锚点鼠标停留效果
当鼠标停留在未知节点上时,未知点的○会有一个增大变色(黄色)效果以凸显出该点,方便用户区分选中的节点。同时,如果该未知节点未被定位,则鼠标停留时会显示未定位提示;如果该未知节点已被定位,该节点的○会变为绿色,且鼠标停留时会显示改点的定位坐标和其与真实位置的误差。鼠标停留在该点时,同时也会将用于定位计算的锚节点显示出来。代码如下: C#无线传感器网络节点定位系统设计(13):http://www.youerw.com/jisuanji/lunwen_2795.html