我正在使用pictureBox来移动2个线性阶段;当mouseDown事件触发时,pictureBox坐标被重新映射以匹配轴的最大行程长度,然后发送给它们以执行移动。
为了改善此功能,我在此图像上添加了一个小点,以跟踪mouseDown事件期间鼠标的当前位置。 每当鼠标移动时,点必须更新它的位置;为了做到这一点,我使用了gfx.Clear(Color.White);删除前一个并绘制新的。 问题是要理解轴的正确定位,pictureBox应该显示轴的照片;但是调用gfx.Clear(Color)会清除图像并留下白色背景。
有没有办法在不调用gfx.Clear的情况下更新点位置(为了保留图像?)
<table>
<tr>
<td id="Refreshtable">
<input type="text" id="Dateimporttime" />
</td>
</tr>
</table>
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script>
$(function () {
$.ajax({
type: "GET",
url: '@Url.Action("GetDateTime","Page")',
datatype: "Json",
success: function (data) {
$("#Dateimporttime").val(data.time)
}
});
});
</script>
<script type="text/javascript">
$(function () {
setInterval(function () { $('#Refreshtable').load('/Page/GetDateTime'); }, 50000),
$("#Dateimporttime").val(data.time)
});
</script>
答案 0 :(得分:0)
我要做的是使用PictureBox.Paint
事件绘制必须跟随鼠标移动的点。首先,我声明Point
可以在任何移动时存储鼠标位置:
Point mousePosition;
然后,在PictureBox.MouseMove
事件处理程序中,我会存储此位置并使PictureBox
无效:
private void gridImage_MouseMove(object sender, MouseEventArgs e)
{
mousePosition = e.Location;
pictureBox1.Invalidate();
}
最后,在PictureBox.Paint
我只使用鼠标位置画一个圆圈:
private void gridImage_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawEllipse(Pens.Red, new Rectangle(mousePosition, new Size(5,5)));
}
希望这能引导你朝着正确的方向前进