From 7d63936dd4f69a46c88f641229640fb4d9195468 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期四, 18 七月 2024 15:16:12 +0800
Subject: [PATCH] 修改界面操作

---
 SimuTools/FrmMain.cs |   83 +++++++++++++++++++++++++++++++++++++----
 1 files changed, 75 insertions(+), 8 deletions(-)

diff --git a/SimuTools/FrmMain.cs b/SimuTools/FrmMain.cs
index c81923b..9fced93 100644
--- a/SimuTools/FrmMain.cs
+++ b/SimuTools/FrmMain.cs
@@ -1,18 +1,14 @@
 锘縰sing SimuTools.Tools;
 using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
+using System.IO;
 using System.Windows.Forms;
 
 namespace SimuTools
 {
     public partial class FrmMain : Form
     {
+        private bool flag;
+
         public FrmMain()
         {
             InitializeComponent();
@@ -30,22 +26,93 @@
 
         private void btnTerrainPath_Click(object sender, EventArgs e)
         {
+            OpenFileDialog dialog = new OpenFileDialog();
+            dialog.Filter = "Tif files(*.tif)|*.tif|Tiff files (*.tiff)|*.tiff";
+            dialog.RestoreDirectory = true;
 
+            string path = this.txtTerrainPath.Text.Trim();
+            if (File.Exists(path))
+            {
+                dialog.InitialDirectory = Path.GetDirectoryName(path);
+            }
+
+            if (dialog.ShowDialog() == DialogResult.OK)
+            {
+                this.txtTerrainPath.Text = dialog.FileName;
+            }
         }
 
         private void btnWaterPath_Click(object sender, EventArgs e)
         {
-
+            selectFolder(this.txtWaterPath, "姘撮潰");
         }
 
         private void btnFlowPath_Click(object sender, EventArgs e)
         {
+            selectFolder(this.txtFlowPath, "娴侀��");
+        }
 
+        private void btnOutPath_Click(object sender, EventArgs e)
+        {
+            selectFolder(this.txtOutPath, "杈撳嚭");
+        }
+
+        private void selectFolder(TextBox tb, string title)
+        {
+            using (FolderBrowserDialog dialog = new FolderBrowserDialog())
+            {
+                string path = tb.Text.Trim();
+                if (Directory.Exists(path))
+                {
+                    dialog.SelectedPath = path;
+                }
+
+                dialog.Description = "璇烽�夋嫨" + title + "鐩綍...";
+                if (dialog.ShowDialog() == DialogResult.OK)
+                {
+                    tb.Text = dialog.SelectedPath;
+                }
+            }
         }
 
         private void btnRun_Click(object sender, EventArgs e)
         {
+            string terrainFile = this.txtTerrainPath.Text.Trim();
+            string waterPath = this.txtWaterPath.Text.Trim();
+            string flowPath = this.txtFlowPath.Text.Trim();
+            string outPath = this.txtOutPath.Text.Trim();
 
+            if (!File.Exists(terrainFile))
+            {
+                ShowErr("鍦板舰鏂囦欢锛岃姹傚繀椤诲瓨鍦紒");
+                return;
+            }
+            if (!Directory.Exists(waterPath) || !Directory.Exists(flowPath) || !Directory.Exists(outPath))
+            {
+                ShowErr("姘撮潰銆佹祦閫熷拰杈撳嚭鐩綍锛岃姹傚繀椤诲瓨鍦紒");
+                return;
+            }
+
+            if (flag) return;
+            try
+            {
+                flag = true;
+                LogOut.Info("寮�濮嬭繍琛� >>");
+                Tools.Handle.Run(terrainFile, waterPath, flowPath, outPath);
+                LogOut.Info("杩愯缁撴潫 >>");
+                flag = false;
+            }
+            catch (Exception ex)
+            {
+                flag = false;
+                LogOut.Error(ex.StackTrace);
+                ShowErr("杩愯鍑洪敊锛�" + ex.Message);
+            }
+        }
+
+        private void ShowErr(string message)
+        {
+            MessageBox.Show(message, "鎻愮ず", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
     }
 }

--
Gitblit v1.9.3