if (licenseStatus == esriLicenseStatus.esriLicenseAvailable ) {
licenseStatus = (esriLicenseStatus)
m_AoInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeEngine);
if (licenseStatus != esriLicenseStatus.esriLicenseCheckedOut ) {
System.Windows.Forms.MessageBox.Show(
\初始化失败,应用程序不能运行!\
}
this.Close();
}
else {
System.Windows.Forms.MessageBox.Show(
\产品无效,此程序不能运行!\
}
this.Close();
// 当缩放时禁止重绘
this.SetStyle(ControlStyles.EnableNotifyMessage, true);
// 后面是创建自定义对话框的代码?? ?? }
3. 在设计模式显示窗体并在属性窗口选择Form1,显示窗体事件。在Closing事件上双击向代码窗口增加事件处理
代码。
4. 在Form_Closing事件中增加以下代码:
private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e) {
// 释放COM对象并关闭AoInitialize对象
ESRI.ArcGIS.Utility.COMSupport.AOUninitialize.Shutdown(); m_AoInitialize.Shutdown(); }
5. 在Release
模式下生成项目和解决方案。
要将应用程序成功地部署到用户机器上:
? 要将应用程序的可执行文件和包含自定义命令的动态链接库DLL发布到用户机器上。程序集注册工具(RegAsm.exe)必须被用来向注册表增加关于自定义类的信息。
? 用户机器上需要安装有ArcGIS Engine运行时库和标准ArcGIS Engine协议。 ? 客户机上需要安装Microsoft .NET Framework 1.1。
七、附加资源
下列资源可以帮助你理解和应用在本方案中在在的概念和技术。
? 在ArcGIS Engine开发工具包中包含了其他可用的文档:ArcGIS开发帮助,组件帮助,对象模型图表和适合于初学者的样例程序。
? ArcGIS开发在线——一个Web站点,提供了最新的ArcGIS开发信息,包括程序样例和技术文档。请访问http://arcgisdeveloperonline.esri.com/
? ESRI在线讨论组——Web站点,从其他ArcGIS开发者提供无偿援助。请访问http://support.esri.com/并点击用户论坛页签。
? 微软Visual Studio .NET开发环境中的文档。