zoukankan
html css js c++ java
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 窗体设计器生成的代码
#region
Windows 窗体设计器生成的代码
/**/
///
///
设计器支持所需的方法 - 不要使用代码编辑器修改
///
此方法的内容。
///
private
void
InitializeComponent()
{
this
.components
=
new
System.ComponentModel.Container();
System.Resources.ResourceManager resources
=
new
System.Resources.ResourceManager(
typeof
(Form1));
this
.axMap1
=
new
AxMapObjects2.AxMap();
this
.textBox1
=
new
System.Windows.Forms.TextBox();
this
.timer1
=
new
System.Windows.Forms.Timer(
this
.components);
((System.ComponentModel.ISupportInitialize)(
this
.axMap1)).BeginInit();
this
.SuspendLayout();
//
//
axMap1
//
this
.axMap1.Location
=
new
System.Drawing.Point(
16
,
24
);
this
.axMap1.Name
=
"
axMap1
"
;
this
.axMap1.OcxState
=
((System.Windows.Forms.AxHost.State)(resources.GetObject(
"
axMap1.OcxState
"
)));
this
.axMap1.Size
=
new
System.Drawing.Size(
392
,
224
);
this
.axMap1.TabIndex
=
0
;
this
.axMap1.MouseDownEvent
+=
new
AxMapObjects2._DMapEvents_MouseDownEventHandler(
this
.axMap1_MouseDownEvent);
this
.axMap1.MouseMoveEvent
+=
new
AxMapObjects2._DMapEvents_MouseMoveEventHandler(
this
.axMap1_MouseMoveEvent);
//
//
textBox1
//
this
.textBox1.Location
=
new
System.Drawing.Point(
168
,
64
);
this
.textBox1.Name
=
"
textBox1
"
;
this
.textBox1.Size
=
new
System.Drawing.Size(
80
,
21
);
this
.textBox1.TabIndex
=
1
;
this
.textBox1.Text
=
"
textBox1
"
;
//
//
timer1
//
this
.timer1.Enabled
=
true
;
this
.timer1.Tick
+=
new
System.EventHandler(
this
.timer1_Tick);
//
//
Form1
//
this
.AutoScaleBaseSize
=
new
System.Drawing.Size(
6
,
14
);
this
.ClientSize
=
new
System.Drawing.Size(
496
,
285
);
this
.Controls.Add(
this
.textBox1);
this
.Controls.Add(
this
.axMap1);
this
.Name
=
"
Form1
"
;
this
.Text
=
"
Form1
"
;
this
.Load
+=
new
System.EventHandler(
this
.Form1_Load);
((System.ComponentModel.ISupportInitialize)(
this
.axMap1)).EndInit();
this
.ResumeLayout(
false
);
}
#endregion
/**/
///
///
应用程序的主入口点。
///
[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;
}
}
}
}
查看全文
相关阅读:
程序优化
obsidium 重定位
Obsidium V1.3.0.4 脱壳
SEH 栈溢出
DWORD SHOOT
两种堆表学习
修改网页转向
WireShark过滤语法
获取系统信息学习
怎么在 渗透无键盘 查询机
原文地址:https://www.cnblogs.com/gwazy/p/111131.html
最新文章
IO设备控制操作
白盒分析CC网络验证
派遣函数学习3)其他方式读写设备
error LNK2019: unresolved external symbol __except_handler4 referenced in function
派遣函数学习2)直接读写
派遣函数学习1)缓冲区方式读写
软件按钮事件
一般断点
黑盒分析
网络验证参数破解+SE shadow Function
热门文章
网络验证CRC校验
网络验证 快速找CALL
网络验证
内核模式 注册表编程
内存补丁程序编写
过软件虚拟机的检查
父子分离进程+ACP1.41脱壳
内核模式 文件操作
内核模式下的字符串操作
OD脚本学习
Copyright © 2011-2022 走看看