using Shared; using System; using System.Collections.Generic; using System.Text; namespace HDL_ON.Stan { /// /// 查看全部文件 /// public class HideOptionSearchAllFile : EditorCommonForm { #region ■ 变量声明___________________________ private string nowDirectory = string.Empty; #endregion #region ■ 初始化_____________________________ /// /// 画面显示(底层会固定调用此方法,借以完成画面创建) /// public void ShowForm(string directory) { this.nowDirectory = directory; //设置头部信息 base.SetTitleText("文件列表"); //初始化中部信息 this.InitMiddleFrame(nowDirectory); this.BackButtonClickEvent = () => { string rootPath = Shared.IO.FileUtils.RootPath.Trim('/'); if (this.nowDirectory.Trim('/') == rootPath) { this.CloseForm(); return; } string[] Arry = this.nowDirectory.Split(new string[] { "/" }, StringSplitOptions.RemoveEmptyEntries); string nextDir = string.Empty; for (int i = 0; i < Arry.Length - 1; i++) { nextDir += Arry[i] + "/"; } //初始化中部信息 this.InitMiddleFrame(nextDir); }; } /// /// 初始化中部信息 /// private void InitMiddleFrame(string directory) { this.nowDirectory = directory; this.ClearBodyFrame(); var listDirectory = new List(); var listAllFile = new List(); //string rootPath = Shared.IO.FileUtils.RootPath.Trim('/'); //if (this.nowDirectory.Trim('/') == rootPath) //{ // //根目录只要两个就可以了 // listDirectory.Add(Common.Config.Instance.Guid); // listDirectory.Add(Application.Skin != null ? Application.Skin : "Phone"); //} //else { var files = System.IO.Directory.GetDirectories(directory); foreach (var file in files) { string[] arry = file.Split(new string[] { "/" }, StringSplitOptions.RemoveEmptyEntries); listDirectory.Add(arry[arry.Length - 1]); } listDirectory.Sort(); listAllFile = HdlFileLogic.Current.GetFileFromDirectory(directory.TrimEnd('/')); listAllFile.Sort(); } var listView = new VerticalListControl(8); listView.BackgroundColor = 0xffffffff; listView.Height = bodyFrameLayout.Height; bodyFrameLayout.AddChidren(listView); if (listDirectory.Count > 0) { var row1 = new RowLayoutControl(listView.rowSpace / 2); listView.AddChidren(row1); row1.frameTable.AddLeftCaption("【文件夹列表】", 278); for (int i = 0; i < listDirectory.Count; i++) { this.AddDirectoryRowControl(listView, listDirectory[i], directory, i != listDirectory.Count - 1); } } if (listAllFile.Count > 0) { var row1 = new RowLayoutControl(listView.rowSpace / 2); listView.AddChidren(row1); row1.frameTable.AddLeftCaption("【文件列表】", 278); for (int i = 0; i < listAllFile.Count; i++) { this.AddFileRowControl(listView, listAllFile[i], directory, i != listAllFile.Count - 1); } } listView.AdjustRealHeightByBottomButton(Application.GetRealHeight(17)); var btnButon = new BottomClickButton(); btnButon.Text = "删除文件夹"; bodyFrameLayout.AddChidren(btnButon); btnButon.ButtonClickEvent += (sender, e) => { this.ShowMassage(ShowMsgType.Confirm, "是否清除该文件夹", () => { try { System.IO.Directory.Delete(directory, true); this.CloseForm(); } catch (Exception ex) { this.ShowMassage(ShowMsgType.Error, "清除缓存文件夹异常"); } }); }; } private void AddDirectoryRowControl(VerticalListControl listView, string directoryName, string directory, bool addLine) { string dirNewName = directoryName; var row1 = new RowLayoutControl(listView.rowSpace / 2); listView.AddChidren(row1); var btnName = row1.frameTable.AddLeftCaption(dirNewName, 278); btnName.IsMoreLines = true; if (addLine == true) { row1.frameTable.AddBottomLine(); } row1.frameTable.AddRightArrow(); row1.frameTable.ButtonClickEvent += (sender, e) => { //初始化中部信息 this.InitMiddleFrame(System.IO.Path.Combine(directory, directoryName)); }; } private void AddFileRowControl(VerticalListControl listView, string fileName, string directory, bool addLine) { string fileNewName = fileName; var row1 = new RowLayoutControl(listView.rowSpace / 2); listView.AddChidren(row1); var btnName = row1.frameTable.AddLeftCaption(fileNewName, 278); btnName.IsMoreLines = true; if (addLine == true) { row1.frameTable.AddBottomLine(); } row1.frameTable.AddRightArrow(); row1.frameTable.ButtonClickEvent += (sender, e) => { var form = new HideOptionFileContentForm(); form.AddForm(System.IO.Path.Combine(directory, fileName)); }; } #endregion #region ■ 一般方法___________________________ #endregion } }