winfrom 用panel 实现地图功能....
winfrom 用panel 加载一张地图,通过移动状态条来制作一个地图的功能,要求图片可以基于鼠标当前点放大缩小,可以进行鼠标拖拽....并且在放大缩小的要效果体验良好,我现在弄的会闪动,无拖拽,基于鼠标点放大缩小也没弄出来,摆脱各位指点一二....
------解决方案--------------------
闪动 采用双缓冲技术
缩放 监听鼠标滑轮滚动事件 设置panel的大小
拖放代码:
      Point downP;
       private void mapPanel1_MouseDown(object sender, MouseEventArgs e)
       {
           downP = e.Location;
       }
       private void mapPanel1_MouseMove(object sender, MouseEventArgs e)
       {
           if (e.Button == MouseButtons.Left)
           {
               Cursor = Cursors.SizeAll;
               Point px = new Point(Location.X + e.X - downP.X,
                    Location.Y + e.Y - downP.Y);
               mapPanel1.Left += px.X;
               mapPanel1.Top += px.Y;
               //外框如果有滚动条  对应改变滚动条的值
            }
            else
           {
              Cursor = Curosrs.Default;
           }
       }