【ArcGIS Pro二次开发】(4):ArcGIS Pro封装的窗体控件

本文详细介绍了如何在ArcGISPro中使用已封装的窗体控件,包括消息框、提醒框、打开文件对话框、保存文件对话框和进度条的使用方法,并提供了相应的代码示例进行演示。
摘要由CSDN通过智能技术生成

在ArcGIS Pro,有一类窗体控件是系统已经封装好的,比如消息框、提醒框等。下面通过代码来学习一下。

新建一个项目,命名为【ProWindow】,添加5个按钮,命名为【Show_MessageBox、Show_NoticeBox、Show_OpenDialog、Show_SaveDialog和Show_ProgressDialog】,分别控制5种封装窗体控件的演示,如下图所示:


一、消息框

消息框是最简单的一种窗体,广泛用用于提示信息,在开发过程中也经常会用到。

消息框一般情况下只有【消息文本和标题文本】2个参数。

修改【Show_MessageBox.cs】的OnClick事件如下:

        protected override void OnClick()
        {
            // 第1个参数:消息文本。第2个参数:标题文本。
            System.Windows.MessageBox.Show("这是一个消息文本!!!!!!!!", "提示框");
        }

演示结果:

 


二、提醒框

提醒框一般在提醒错误的情形中使用。

提醒框的参数也比较简单,一般比消息框会多一个警示图片。

修改【Show_NoticeBox.cs】的OnClick事件如下:

        protected override void OnClick()
        {
            Notification notification = new Notification();
            notification.Title = "重要提醒";           //提醒框标题
            notification.Message = "这是一个提醒文本###";         //提醒内容
            notification.ImageUrl = @"file:///D:\【软件资料】\GIS相关\ArcGIS Pro二次开发工具\ProWindow\Images\GB.png";      //图片路径
            FrameworkApplication.AddNotification(notification);
        }

演示结果:


三、打开文件对话框

打开文件对话框一般用于从本地电脑中选择文件并打开。

重要参数有2个,【MultiSelect】确定是否可以多选文件,【Filter】类型筛选,可以选择【Files_All、GeodatabaseItems_All、Projects、TextFiles】等类型的数据。

修改【Show_OpenDialog.cs】的OnClick事件如下:

        protected override void OnClick()
        {
            OpenItemDialog openDlg = new OpenItemDialog()
            {
                Title = "选择一个要素",      //打开对话框标题
                MultiSelect = false,          //是否可以多选
                Filter = ItemFilters.GeodatabaseItems_All,       //类型筛选
            };
            //打开对话框
            bool? ok = openDlg.ShowDialog();
            //如果没有选择内容,则返回
            if (!ok.HasValue || openDlg.Items.Count() == 0)
                return;   
            //如果有选择内容,返回选择的内容
            var item = openDlg.Items.First();
            //显示返回要素的路径
            MessageBox.Show("要素路径:" + item.Path, "你所选择的要素");
        }

如果有选择的内容,则用消息框提示选择内容的路径。演示结果:


四、保存文件对话框

保存文件对话框和打开文件对话框类似。

重要参数比打开文件对话框少了【MultiSelect】,因为你不可能同时保存为多个文件。

修改【Show_SaveDialog.cs】的OnClick事件如下:

        protected override void OnClick()
        {
            SaveItemDialog saveDlg = new SaveItemDialog()
            {
                Title = "保存为",      //打开对话框标题
                Filter = ItemFilters.GeodatabaseItems_All,       //类型筛选
            };
            //打开对话框
            bool? ok = saveDlg.ShowDialog();
            //如果没有选择内容,则返回
            if (!ok.HasValue)
                return;
            //如果有选择内容,显示返回要素的路径
            MessageBox.Show("要素路径:" + saveDlg.FilePath, "你所保存的要素");
        }

如果有保存的内容,则用消息框提示选择保存内容的路径。演示结果:


五、进度条

进度条一般配合别的进程一起使用,表示该进程的运行进度。

这里引用了一个系统自带的工具【management.CopyFeatures】,配合进度条。当工具运行时,进度条显示,工具运行结束,进度条关闭。

修改【Show_ProgressDialog.cs】的OnClick事件如下:

        protected override async void OnClick()
        {
            var progDlg = new ProgressDialog("进度条", "取消", 100, true);
            progDlg.Show();

            var progSrc = new CancelableProgressorSource(progDlg);

            // 为要调用的工具准备好参数
            string input_data = @"C:\Users\Administrator\Documents\ArcGIS\Projects\Test\Test.gdb\年度变更";
            string out_workspace = Project.Current.DefaultGeodatabasePath;
            string out_data = System.IO.Path.Combine(out_workspace, "年度变更2");

            // 工具参数
            var parameters = Geoprocessing.MakeValueArray(input_data, out_data);

            // 调用工具【management.CopyFeatures】
            await Geoprocessing.ExecuteToolAsync("management.CopyFeatures", parameters,
                null, new CancelableProgressorSource(progDlg).Progressor, GPExecuteToolFlags.Default);

            // 工具运行完毕后关闭进度条
            progDlg.Hide();
        }

演示结果:

当要素复制结束时,进度条自动关闭。


六、工程文件分享

以上就是5个窗体控件的小实例演示。

最后,放上工程文件的链接:

ProWindowicon-default.png?t=N176https://pan.baidu.com/s/1TmpO35SICMg__9SHvXe6wA?pwd=x7rj

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
ArcGIS Pro二次开发是指使用ArcGIS Pro软件进行自定义功能开发的过程。对于初学者而言,开始二次开发可能感到无从入手,因为中文资料较少,官方文档对于英文不熟悉的人来说可能不太友好。 要开始ArcGIS Pro二次开发,你可以按照以下步骤进行操作: 1. 首先,以管理员身份运行Visual Studio 2019。如果没有安装Visual Studio 2019,你需要先下载并安装它。 2. 在Visual Studio中,右键项目名称,选择"添加",然后选择"新建项"。 3. 在"新建项"下拉菜单中,选择"ArcGIS",然后选择"ArcGIS Pro Add-ins",再选择"ArcGIS Pro按钮",最后点击"添加"。 4. 接下来,配置新项目。在Visual Studio中,点击"文件",选择"新建",然后选择"项目"。 5. 在"新建项目"对话框中,选择"C#"作为语言,选择"Windows"作为平台,然后选择"ArcGIS Pro SDK"。在项目类型中选择"ArcGIS Pro模块加载项",然后点击"下一步"。 6. 设置新项目的配置,然后点击"创建"。等待项目创建完成。 通过以上步骤,你就可以开始进行ArcGIS Pro二次开发了。你可以根据你的需求,使用C#编程语言进行开发,并且利用ArcGIS Pro SDK提供的功能来扩展ArcGIS Pro软件的功能。 希望这些步骤能够帮助你入门ArcGIS Pro二次开发。如果你遇到了其他问题或需要更多详细的指导,请随时提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【ArcGIS Pro二次开发】系列学习笔记,持续更新,记得收藏](https://blog.csdn.net/xcc34452366/article/details/129223703)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [ArcGIS Pro二次开发环境配置及项目创建示例](https://blog.csdn.net/wsywsy00/article/details/128550006)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

规划GIS会

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值