• mo+c#中的 tips 实现


    using System; 
    using System.Drawing; 
    using System.Collections; 
    using System.ComponentModel; 
    using System.Windows.Forms; 
    using System.Data; 

    namespace WindowsApplication67 

     
    /// 
     
    /// Form1 的摘要说明。 
     
    /// 

     public class Form1 : System.Windows.Forms.Form 
     

      
    private AxMapObjects2.AxMap axMap1; 
      
    private System.Windows.Forms.TextBox textBox1; 
      
    private System.Windows.Forms.Timer timer1; 
      
    private System.ComponentModel.IContainer components; 
            
    public maptips2  tips; 

      
    public Form1() 
      

       
    // 
       
    // Windows 窗体设计器支持所必需的 
       
    // 
       InitializeComponent(); 

       
    // 
       
    // TODO: 在 InitializeComponent 调用后添加任何构造函数代码 
       
    // 
      }
     

      
    /// 
      
    /// 清理所有正在使用的资源。 
      
    /// 

      protected override void Dispose( bool disposing ) 
      

       
    if( disposing ) 
       

        
    if (components != null
        

         components.Dispose(); 
        }
     
       }
     
       
    base.Dispose( disposing ); 
      }
     

      
    Windows 窗体设计器生成的代码 

      
    /// 
      
    /// 应用程序的主入口点。 
      
    /// 

      [STAThread] 
      
    static void Main() 
      

       Application.Run(
    new Form1()); 
      }
     

      
    private void Form1_Load(object sender, System.EventArgs e) 
      

       MapObjects2.IMoDataConnection  dc; 
       MapObjects2.IMoMapLayer  layer; 
       dc
    =new MapObjects2.DataConnectionClass(); 
       dc.Database
    =@"f:\data\usa"
       
    if (!dc.Connect()) 
       

        MessageBox.Show(
    "无法连"); 
       }
     
       
    else 
       

        layer
    =new MapObjects2.MapLayerClass(); 
        layer.GeoDataset
    =dc.FindGeoDataset("STATES"); 
        axMap1.Layers.Add(layer); 

       

       tips
    =new maptips2(); 
       tips.initialize(axMap1,timer1,textBox1); 
                tips.setlay(layer,
    "STATE_NAME"); 

    }
     
      }
     

      
    private void axMap1_MouseDownEvent(object sender, AxMapObjects2._DMapEvents_MouseDownEvent e) 
      

       MapObjects2.Rectangle  r; 
       r
    =   new MapObjects2.RectangleClass(); 
       r
    =axMap1.TrackRectangle() ; 

       axMap1.Extent
    =r;

      }


      
    private void axMap1_MouseMoveEvent(object sender, AxMapObjects2._DMapEvents_MouseMoveEvent e) 
      

       
    this.tips.mousemove(e.x,e.y ); 
      }
     

      
    private void timer1_Tick(object sender, System.EventArgs e) 
      

       
    this.tips.timer(); 
      }
     
     }
     
    }
     

























    //

    using System; 
    using MapObjects2; 

    namespace WindowsApplication67 

     
    /// 
     
    /// maptips2 的摘要说明。 
     
    /// 

     public class maptips2 
     

      
    public maptips2() 
      

       
    // 
       
    // TODO: 在此处添加构造函数逻辑 
       
    // 
      }
     
      
    protected int  m_x; 
      
    protected int  m_y; 
      
    protected int  m_lastx; 
      
    protected int  m_lasty; 
            
    protected  AxMapObjects2.AxMap axMap1; 
      
    protected  System.Windows.Forms.Timer m_time; 
      
    protected  System.Windows.Forms.TextBox m_edit; 
      
    protected  MapObjects2.IMoMapLayer  m_layer; 
      
    protected  string  m_field; 
      
    protected  MapObjects2.Recordset m_recs; 

      
    public void doseach() 
      

       MapObjects2.Point  pt; 
       pt
    =new MapObjects2.PointClass(); 
       pt
    =axMap1.ToMapPoint(m_x,m_y); 
       
    if (m_layer.shapeType.ToString()=="23"
       

        m_recs
    =m_layer.SearchShape(pt,MapObjects2.SearchMethodConstants.moPointInPolygon ,""); 
         

       }
     
       
    else 
       

        m_recs
    =m_layer.SearchByDistance(pt,axMap1.ToMapDistance(10),""); 

       }
     
        

      }
     
      
    public void initialize(AxMapObjects2.AxMap  map,System.Windows.Forms.Timer tmr,System.Windows.Forms.TextBox edit ) 
      

       axMap1
    =map; 
       m_time
    =tmr; 
       m_edit
    =edit; 
       m_edit.Visible
    =false


      }
     
      
    public void mousemove(int x,int y) 
      

       
    if ( m_time.Interval==1
       

        m_x
    =x; 
        m_y
    =y; 
        m_time.Interval
    =100
       }
     
       
    else 
       

        m_edit.Visible
    =false

       }
     
      }
     
      
    public void setlay(MapObjects2.IMoMapLayer  layer,string fid) 
      

       m_layer
    =layer; 
       m_field
    =fid; 

      }
     
      
    public void showtiptext(string text) 
      

              m_edit.Text
    =text; 
              m_edit.Visible
    =true
              m_edit.Left
    =axMap1.Left+m_x; 
              m_edit.Top 
    =axMap1.Top+m_y+20

      }
     
      
    public void timer() 
      

       
    string s; 
       MapObjects2.IMoFields flds; 
       MapObjects2.IMoField fld ; 
       
    if ((m_x==m_lastx)&&(m_y==m_lasty)) 
       

        m_time.Interval
    =1
        doseach(); 
        
    if(m_recs.EOF ) 
        

         m_edit.Visible
    =false

        }
     
        
    else 
        

         flds
    =m_recs.Fields ; 
         fld
    = flds.Item(m_field); 
         s
    =fld.Value.ToString(); 
         
    this.showtiptext(s); 


        }
     
                  
       }
     
       
    else 
       

        m_lastx
    =m_x; 
        m_lasty
    =m_y; 

       }


        
      }
     



     }
     
    }
     

  • 相关阅读:
    【转】CUDA5/CentOS6.4
    【转】centos 6.4 samba 安装配置
    【转】Install MATLAB 2013a on CentOS 6.4 x64 with mode silent
    【转】Getting xrdp to work on CentOS 6.4
    【VLFeat】使用matlab版本计算HOG
    Unofficial Windows Binaries for Python Extension Packages
    March 06th, 2018 Week 10th Tuesday
    March 05th, 2018 Week 10th Monday
    March 04th, 2018 Week 10th Sunday
    March 03rd, 2018 Week 9th Saturday
  • 原文地址:https://www.cnblogs.com/gwazy/p/111131.html
Copyright © 2020-2023  润新知