c# winfrom 如何实现下图的功能,使用GDI+ 绘图还是 摆用户控件,两种方式都试了,还是不理想

飞驰的蜗牛 2017-08-23 02:19:04
图上显示的是铁路上一条线路的站点,信号灯,坡度等值,这些值都是有公里标的,比如说,北京到天津这条线,有10个站点,有200多个信号灯,好多个坡度值,两个信号灯之间用颜色带展现,都要体现到这个图上,用鼠标拖动时,这个图可以无闪屏的显示当前屏没有显示完的信息

...全文
373 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2017-08-23
  • 打赏
  • 举报
回复
闪烁 和 闪屏 是两个概念 闪烁 是指图像基本不变,但有闪烁感(明暗变化)这可以通过启用双缓存来缓解 闪屏 是指图像变化时有跳跃感,这与人眼的视觉残留(0.1s)有关,你需要通过改变刷新频率来解决 交替显示 1 和 2,必然会有跳跃感,因为 1 不能平滑过渡到 2
飞驰的蜗牛 2017-08-23
  • 打赏
  • 举报
回复
引用 5 楼 wolf163361 的回复:
要绘制的内容分类抽象出来,封装到一个控件里边,比如继承Panel,重写onpaint,利用双缓冲技术绘制(解决闪烁的问题),然后就是响应鼠标事件控制重绘。
就是用的抽象类, public abstract class BaseRouteObject { public abstract void paint(Graphics g); public float X_Distance; } 也用了双缓冲,在panel控件中进行绘制,还是闪屏,郁闷呀,望高手们指导一下,或者提些建议,在线等,谢谢
by_封爱 版主 2017-08-23
  • 打赏
  • 举报
回复
这个的确比较高端.. 但是我想说的是 如果有个页面画图多 控件多 你用什么六缓冲也没用 照样闪烁.. 不符来辨.
海阔天空CE 2017-08-23
  • 打赏
  • 举报
回复
要绘制的内容分类抽象出来,封装到一个控件里边,比如继承Panel,重写onpaint,利用双缓冲技术绘制(解决闪烁的问题),然后就是响应鼠标事件控制重绘。
飞驰的蜗牛 2017-08-23
  • 打赏
  • 举报
回复
厉害了,winform大概不行,试试WPF wpf 呵呵,我不太熟悉,有时间可以试试,目前想用c# winfrom 实现 我用gdi+ 绘图实现了车站,信号灯,灯带颜色,但是在鼠标拖动时,有闪屏的过程。
易2017 2017-08-23
  • 打赏
  • 举报
回复
可以参考最近的讨论http://bbs.csdn.net/topics/392091752
wang_peng_yl 2017-08-23
  • 打赏
  • 举报
回复
只能用GDI画,控件弄得相当费事了 你说的的不理想,是指闪烁问题么, 如果是,这个真不好处理,网上基本都是用双缓冲 这种方法有效果,但界面画了多了一样闪, 所以基于这两点你也试试
易2017 2017-08-23
  • 打赏
  • 举报
回复
厉害了,winform大概不行,试试WPF

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧