阅读:5925回复:17
mo+VB.NET讨论
<P><FONT size=4><IMG src="http://www.gisempire.com/bbs/Skins/default/topicface/face150.gif"><IMG src="http://www.gisempire.com/bbs/Skins/default/topicface/face150.gif"><IMG src="http://www.gisempire.com/bbs/Skins/default/topicface/face150.gif">用vb.net开发的大哥、大姐把大家的经验发上来,一块儿学习啊!</FONT></P>
|
|
1楼#
发布于:2004-10-21 11:12
<P>自己先发一条。在图层显示消隐时用 AxMap1.Refresh() 没法刷新地图,发现 AxMap1下还有一个CtlRefresh。因为.net中<FONT size=2>ActiveX<FONT>控件在</FONT><FONT face=Arial>.NET</FONT><FONT>里的应用就是通过利用</FONT><FONT face=Arial>AxHost</FONT><FONT>类来实现的,Refresh是从AxHost继承来的,CtlRefresh才是MapObjects<FONT size=2>自己的</FONT><FONT face=Arial size=2>Refresh</FONT><FONT size=2>方法。同理其它“Ctl<FONT>”</FONT><FONT size=2>的前缀也是区分本身方法和继承方法的标志。</FONT></FONT></FONT></FONT></P><P><FONT size=2> '0图层消隐显示</FONT></P><P>Dim layer As ESRI.MapObjects2.Core.MapLayer
If Me.AxMap1.Layers.Count >= 1 Then</P><P>layer = CType(AxMap1.Layers.Item(0), ESRI.MapObjects2.Core.MapLayer) layer.Visible = Not layer.Visible Me.AxMap1.CtlRefresh() </P><P> Else MsgBox("没有图层") End If</P> |
|
2楼#
发布于:2004-10-21 12:05
现在没做接个开发,先支持下兄台
|
|
|
3楼#
发布于:2004-10-21 19:13
vb.net与c#都是基于.netframework开发,vb.net遇到的问题 C#基本上也会遇到 !
|
|
4楼#
发布于:2004-10-22 13:43
<P>这个东西实在不好说,我还是新手,请大哥大姐原谅。</P><P> vb是个比较好的开发工具,调用refresh方法后的一系列事件如下所示:</P><P> 1、触发ONBeforelayerdraw事件</P><P> 2、层集按索引相反顺序调出各个图层。</P><P> 3、触发Onafterlayerdraw事件</P><P> 4、触发Onbeforetrackinglayerdraw事件</P><P> 5、如果在trackinglayer中存在Geoevent,则画出这些Geoevent对象</P><P> 6、触发Onaftertackinglayerdraw事件。</P>
|
|
5楼#
发布于:2004-11-17 20:52
<P>在vb.net里面开发的效率好像不及vb的效率</P><P>我碰到这样一个问题</P><P>在vb.net里面的fields 为什么不是集合呢(在vb里面是),比如不能这样用:</P><P>dim fld as mapobjects2.field</P><P>dim recs as mapobjects2.recordsets</P><P>dim lyr as mapobjects.maplayer</P><P>dim inti as int16</P><P>for inti=0 to axmap1.layers.count-1</P><P> for each fld in lyr.records.fields</P><P> .........</P><P> ........</P><P> next</P><P>next</P><P>其中for each fld in lyr.records.fields就会出问题,提示不是集合,我就感到奇怪,它明明是集合呀?为什么不能用呢,而且在vb里面可是能够用的阿??求助阿,把我弊死了阿</P>
|
|
6楼#
发布于:2004-11-18 11:44
<P>vb中的集合与.net中的集合不一样,</P><P>比如.net的典型集合ArraryList,必须有提供一个G开头的接口(忘记怎么拼了)。</P><P>如果你想遍历fields取得value就得使用 fld.item("name"),其中name就是属性表中的字段名。</P>
|
|
7楼#
发布于:2004-11-18 11:54
<P>回头看看这里,这个帖子真是很有必要长期继续下去,给大家来个问题大终结</P>
|
|
|
8楼#
发布于:2004-11-18 20:51
大家用mo+vb.net的时候有没有经常受“未将对象引用设置到对象实例”的困扰?如何解决的?
|
|
9楼#
发布于:2004-11-19 21:05
.Net和MO之间有点问题,到2.3都没有完全解决,建议直接用ArcEngine,MO慢慢不受重视,可以被淘汰了.
|
|
上一页
下一页