C#编程学习28:输入输出型软件界面设计与思考

目录

1 需求说明

2 TextBox空间拖拽文件自动获取其路径

2.1 设置AllowDrop属性为true

2.2 添加DropEnter事件

2.3 添加DragDrop

2.4 效果演示

3 文件输入与输出功能的设计与思考

3.1 文件输入功能

3.2 文件输出功能

3.3 总结

4 目录输入和输出功能设计与思考

5 执行部分的代码示例


1 需求说明

在实际开发过程中,经常会遇到给定输入路径和输出路径,然后程序处理后将处理结果输出到指定的输出路径中去

以ArcMap的3D Analyst --》 栅格计算 --》转为整型为例,如下图

由上图可知:界面由文本框和按钮组成,支持文件拖拽,点击【显示帮助】按钮,可以弹出对功能的使用描述信息

2 TextBox空间拖拽文件自动获取其路径

2.1 设置AllowDrop属性为true

方法一:代码实现

        private void Form1_Load(object sender, EventArgs e)
        {
            txt_input.AllowDrop = true;
            txt_output.AllowDrop = true;
        }

方法二:属性选择

2.2 添加DropEnter事件

        private void txt_input_DragEnter(object sender, DragEventArgs e)
        {
            if (e.Data.GetDataPresent(DataFormats.FileDrop))
            {
                e.Effect = DragDropEffects.Link;
            }
            else
            {
                e.Effect = DragDropEffects.None;
            }
        }

2.3 添加DragDrop

        //拖放完成时发生
        private void txt_input_DragDrop(object sender, DragEventArgs e)
        {
            txt_input.Text = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString();
            //这里是支持多选的,多选的结果保存在一个数组中,我们默认取数组的第一个元素为输入文件或目录的路径
        }

2.4 效果演示

3 文件输入与输出功能的设计与思考

3.1 文件输入功能

有两种方式可采用:

方式一,直接拖拽法【即第二部分介绍的方法】;

方法三,按钮添加法

        private void btn_input_Click(object sender, EventArgs e)
        {
            OpenFileDialog pfd = new OpenFileDialog();
            pfd.Title = "待文件存储的路径的标题";
            pfd.Multiselect = false;
            if (pfd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                txt_input.Text = pfd.FileName;
            }
        }

3.2 文件输出功能

        private void btn_output_Click(object sender, EventArgs e)
        {
            SaveFileDialog sfd = new SaveFileDialog();
            sfd.Title = "文件要保存的位置";
            
            if (sfd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                txt_output.Text = sfd.FileName;
            }
        }

3.3 总结

对于输入文件,可采用直接拖拽法、通过按钮调用对话框两种方法获取其路径信息;对于输出文件,最好的策略是通过按钮调用保存对话框,设定输出文件的路径

4 目录输入和输出功能设计与思考

目录的获取方式:直接复制法、拖拽法、按钮调用法

        private void btn_input_Click(object sender, EventArgs e)
        {
            FolderBrowserDialog fbd = new FolderBrowserDialog();
            fbd.Description = "目录描述信息";
            if (fbd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                txt_input.Text = fbd.SelectedPath;
            }
        }

5 执行部分的代码示例

        private void btn_exec_Click(object sender, EventArgs e)
        {
            if (txt_input.Text == "" || txt_output.Text == "")
            {
                MessageBox.Show("指定的目录或路径为空", "错误提示");
            }

            if (File.Exists(txt_input.Text))
            {
                MessageBox.Show("指定文件的不存在", "错误提示");
            }
            if (Directory.Exists(txt_output.Text))
            {
                MessageBox.Show("指定目录的不存在", "错误提示");
            }
            //核心算法代码

        }

更多精彩欢饮关注个人微信公众帐号【学而立行】

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小薛引路

喜欢的读者,可以打赏鼓励一下

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

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

打赏作者

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

抵扣说明:

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

余额充值