看到有不少帖子实现了B/S架构下的在中国地图上鼠标移到相应省份,系统触发相应事件,但是如何在C/S架构下的客户端里面实现呢?我是采用的C#语言,在目前的小项目里面遇到问题,请各位指点,万分感谢!

解决方案 »

  1.   

    http://www.chinabyte.com/20020328/1604020.shtml
    http://www.yzcc.com/yzcc/vv/1714116038.html
      

  2.   

    我不知道你的实际用途,但是你可以在winform中显示该网页,所有的事件在网页中体现,不知我讲有没有用
      

  3.   

    我是想用c#在winform里面实现类似这种FLASH的效果:
    http://destinations.ctrip.com/images/destinationguide/homepage03/new/map_china.swf
    用户鼠标移到相应省份,单击后触发相应事件,不知道在winform中如何处理,谢谢!
      

  4.   

    to hm7921936:你说的这种方法,可操作性太小了,有没有更好的办法?
    to yanlixin4csdn(闫力昕):gis该如何弄呢,请给予稍微详细点的说明。
    谢谢!
      

  5.   

    to huangyj(天外飞仙的师傅) :用什么对象贴到哪里去,请详细指点。
    因为原来没有做过这块,请勿见笑
      

  6.   

    按你的要求,有几种实现方法,提供给你参考:
    (1)用WEB页面直接实现,就好象编写网页程序一样,这要求你的Javascript功底;
    (2)也使用FLASH实现,正如你所说的那个链接一样;
    (3)在WinForms中编写一个自定义控件,从UserControl中继承,然后处理OnMouseMove, OnMouseLeave, OnPaint事件等。处理时使用GraphicsPath勾出地图的轮廓,判断鼠标是否在此区域中,主要用到IsVisible(e.X, e.Y)。说实在的,做这个也不轻松哟。我写过一个类似的东西,让我花了好几个晚上(以前也是从来没有做过)。备注:使用(1)(2)方案比较简便,因为在WinForm中也可以调用Web页面(使用WebBrowsor),也可以调用FLASH的。而且是大把人会这个,所以门槛较低。
      

  7.   

    to  johnsuna(缘来是e) :
    非常感谢你的参考,我也试着用WEB页面做,但要求用户在点击相应省份时,进入winform表单执行相关查询并显示结果,这又该如何处理?
      

  8.   

    如果用WEB+ JS放在你的winform里的话,我记得可以用的事件是TitleChange之类的,你可以把你的一些参数写在Title里,然后winform里面解析,调用(是两三年前用VB的时候,我当时就是这样实现从WEB到WIN传数据的).
      

  9.   

    to  chenjinaban(陈进) :
    我是要在winform里面实现啊
    to freetofly() :
    我只是在这里做一个简单的地图导航,其它的功能都不需要,用gis太大的项目了,难道没有简单的处理方法吗?
      

  10.   

    如果是在Winform中实现如果不继续请求显示大量数据的话就没必要用C/S结构
    但是给你一个解决方案
    在Client留一个Point集合,当然是每个省对应的点的集合
    用MouseMove事件,查询鼠标所在位置,这里需要用一个简单的方法来模糊边界
    就是判断鼠标点周围一定范围(很小,轻动鼠标的一个范围)内有集合中的点
    如果是就做你的操作就可以了
      

  11.   

    to RickTroy(崔驰坤 Richard Troy-Rex,RickTroy):
    请问怎样才能读取到Point集合呢,就是每个省对应的点的集合?
    另外,需要需要用一个简单的方法来模糊边界,能给个详细的建议吗?
      

  12.   

    那你不如直接在WinForm里面播放Flash呢……
      

  13.   

    to lookatliu(独孤常败) :
    播放FLASH是方便,可是要怎样才能让flash里面触发的winform事件呢?
      

  14.   

    最简单的方法最实用的方法:找一个中国地图的图片文件,不同的省份用不同的颜色来区分(用photoshop做一下),得到鼠标点击时那个点的颜色,就可以得到对应省份了