日期:2014-05-19  浏览次数:21017 次

C#中如何实现地图上某个图元的闪烁,不用Mapx或者mapxtreme之类的
用picturebox放置地图,想在上面加载一些图元,(其实就是bmp类型的图片)C#中好象没有这样的控件直接调用吧?vb中有image可以的,在c#中怎么做呢?

------解决方案--------------------
public class PipeControl : System.Windows.Forms.UserControl
添加一个新的用户自定义控件

里面放个picturebox 然后用代码控制

------解决方案--------------------
继承Picturebox控件,拓展一下,这个问题不难...
------解决方案--------------------
如果地图文件较大,比如9M以上,窗体打开时非常慢,这跟我机器内存较小也有关系,那么有什么办法能缓解这种现象呢?
--------------------------------
你可以不要再打开窗体的时候马上就load图片,首先把窗体显示出来,然后让用户等待,甚至可以显示导入的进度。

地图加载后要动态加载若干图元,可能很多,几百个,那我用什么控件来画这些图元比较好?(图元要可以单击、双击、闪烁)我用picturebox来加载,不知道会不会比较占内存?
--------------------------------
可以的,其实控件用不了多少内存,主要是图像使用的内存多


保存和读取图片有两种方式,一种是以文件的形式保存在硬盘中,一种是保存在数据库中,这两种方式那种比较好?有什么不同?
--------------------------------
保存的方式按照需求吧,不管保存到文件还是数据库中,应该都是按照图元进行保存的,都可以按照采用2进制保存的(ps,如果保存数据库,需要考虑图片的大小啊,往数据库插入几M的数据可是相当慢的)。当然,保存文件可以直接保存成图片格式。


------解决方案--------------------
要闪烁容易,定时设置Picture的Visible为false不可见true可见就闪了。
------解决方案--------------------
LZ 是想一个点闪吧?
image 放个透明png图片进去 定位再闪好了