c#的一个实时更新的绘图问题

想用C#实现这样一个程序,串口每一段时间输入一个位置坐标,界面上显示实时更新的位置点,这个要怎么实现呢?之前尝试了用graphics,但是存在的问题就是这个点出来之后再花... 想用C#实现这样一个程序,串口每一段时间输入一个位置坐标,界面上显示实时更新的位置点,这个要怎么实现呢?
之前尝试了用graphics,但是存在的问题就是这个点出来之后再花第二个不知道如何清除前一个点,之后又尝试了直接用picturebox改变它的位置,但是问题就在于picturebox的坐标只能是int32类型的。求教一下能显示带小数点坐标的能很好地实时更新位置的方法TT
展开
 我来答
yangwanbohao
2012-10-10 · TA获得超过173个赞
知道小有建树答主
回答量:213
采纳率:0%
帮助的人:97.8万
展开全部
用graphics这个就可以吧。
this.Refresh()可以清除之前的点吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
endall_man
2012-10-05 · TA获得超过154个赞
知道小有建树答主
回答量:173
采纳率:0%
帮助的人:116万
展开全部
你用一个变量记录下不就可以了 ;
如果数据量少的话,直接声明两个数量就行了
Point priorPoint;//前一个坐标
追问
请详细些说明。
现在我的问题在于如何清除前一个点@@
追答
如果在界面上实现比较简单,如下
首先声明一个变量用来存贮更新的坐标点
Point newPoint;
然后在Paint事件中写入如下代码:
Graphics g=e.Graphics;
g.DrawLine(newPoint,newPoint);//这是绘制一个点;
或者g.DrawImage(image,newPoint);//这是绘制一个图,image=要绘的图;
这样做有时候会产生闪烁,一般建议采用双缓冲的方式解决,具体自己搜一下吧!
当你有新坐标输入时,首先用newPoint存贮新坐标;然后执行界面的Invalidate()方法;
至于你所说的小数的问题,我觉得纯粹是数制转换的问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-10-05
展开全部
Graphics g = pictureBox1.CreatGraphics();
g.Clear(pictureBox1.BackColor);
g.Draw......
更多追问追答
追问
这个picturebox是坐标点所在的画布?
追答

如果上面的方法不可行,可以使用:
pictureBox1.Refresh();
用后如果屏幕闪烁,可以:
开启双缓冲
this.DoubleBuffered = true;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式