1. License相关
拖入MapControl或TOCControl等控件后,设计页面上显示如下信息:
This Control requires that the application is initialized with an ArcGIS product license. Achieve this by either adding a LicenseControl or programmatically licensing the application using the ESRI.ArcGIS.RuntimeManager.BindLicense or IAoInitialize.Initialize methods

此时只需要在Toolbox中找到LicenseControl控件,把它拖进窗口就可以了

其他相关信息:
(1) 记得先在Program.cs中加入这行:
ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);

(2) 在 Engine Developers Guide 中找到如下说法

2. 某窗体的 dataGridView 不显示数据(全灰色)
研究半天发现并不是 dataGridView 的问题,而是该窗体的 Load 函数根本没有被执行。我的 dataGridView 的数据代码全部在 Load 函数中,Load 不执行则表格永远没有数据,只是一片灰色。
解决:只需在该窗体的 Designer.cs 文件中把 Load 函数加进去即可。
this.Load += new System.EventHandler(this.FeatureFormAttr_Load);
// 把 FeatureFormAttr 换成自己的窗体名称

⚠ 为什么会出现这种情况:因为我对 VS 窗体不够了解,一切都是跟着老师给的代码走。但现在明白,这个 Load 函数并不应该是自己手动敲上去或者从别的地方复制来的,而应该是在 Design 界面双击窗体,由软件自动生成并跳转到 .cs 文件供人书写的。
本文介绍了在使用ArcGIS控件时遇到的授权问题和窗体dataGridView不显示数据的解决方法。首先,确保在Program.cs中正确绑定产品许可证。其次,若dataGridView为空,检查窗体的Load函数是否被正确调用。加载事件需在Designer.cs文件中手动添加,或通过双击窗体在代码中自动生成。了解这些基础知识对于避免此类问题至关重要。

6933

被折叠的 条评论
为什么被折叠?



