/// <summary> /// 上传一个文件,返回节点描述符。 /// </summary> /// <param name="sPath"></param> /// <returns></returns> public static FileTreeNode UploadFile(string sPath, string strID, string strInfo, ContentKind cKind, string strApp) { TFile file = new TFile(); file.FileContent = File.ReadAllBytes(sPath); FileStream fs = File.OpenRead(sPath); file.FileId = strID; file.FileInfo = strInfo; file.FileKind = (TContentKind)cKind; file.FileSize = fs.Length; file.FromApp = strApp; file.FileOwner = GetValidator().VssID; ClientAdapt.Open(); TVssService.Client client = ClientAdapt.GetClient(); string strNewID = client.Put(GetValidator(), file); ClientAdapt.Close(); FileTreeNode fileTreeNode = new FileTreeNode(); System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); fileTreeNode.CreateDate = (uint)(DateTime.Now - startTime).TotalSeconds; fileTreeNode.FileID = strNewID; fileTreeNode.FileInfo = strInfo; fileTreeNode.FileKind = cKind; fileTreeNode.FileSize = (ulong)fs.Length; fileTreeNode.FromApp = strApp; fileTreeNode.SubNodes = null; fileTreeNode.FileOwner = GetValidator().VssID; fileTreeNode.NodeName = fs.Name.Substring(fs.Name.LastIndexOf("\\") + 1); return(fileTreeNode); }
/// <summary> /// 初始化三个VssDisk系统文件夹 /// </summary> /// <param name="myShareNode"></param> /// <param name="myFocusNode"></param> /// <param name="myReceiveNode"></param> public static void InitFolder(FileTreeNode myFreeNode, FileTreeNode myShareNode, FileTreeNode myFocusNode, FileTreeNode myReceiveNode) { FreeFolder = myFreeNode; PublishFolder = myShareNode; FocusFolder = myFocusNode; ReceiveFolder = myReceiveNode; }
public List <FileTreeNode> GetChildren(string filePath) { List <FileTreeNode> children = new List <FileTreeNode>(); foreach (var file in EnumerateFilesInFolder(Enumerator, connection, filePath)) { bool isFile = !string.IsNullOrEmpty(file.fileName); FileTreeNode treeNode = new FileTreeNode(); if (isFile) { treeNode.Name = file.fileName; treeNode.FullPath = file.fullPath; } else { treeNode.Name = file.folderName; treeNode.FullPath = file.path; } treeNode.IsFile = isFile; // if the node is a directory, or if we are browsing for files and the file name is allowed, // add the node to the tree if (!isFile || (this.FilterFile(treeNode.Name, this.fileFilters))) { children.Add(treeNode); } } return(children); }
/// <summary> /// 修改某个节点的节点名字[文件名或目录名] /// </summary> /// <param name="fileNode"></param> public static void RenameNode(FileTreeNode fileNode) { if (fileNode == null) { MessageBox.Show("Please Select A file or folder In ViewList !", "Error"); return; } //获取用户输入 string folderName = Interaction.InputBox("Please Set A name of your selection."); //如果为空,则忽略 if (folderName == "") { return; } //首先修改节点名字 fileNode.NodeName = folderName; //设置ListView TurnCurrentNode(CurrentNode); //如果是文件夹,那么修改TreeView的内容项 if (fileNode.SubNodes != null) { //在TreeView中找到当前节点 TreeNode treeNode = FindNodeInTree(uiTreeNode.TopNode, fileNode); treeNode.Text = fileNode.NodeName; } BLLControl.SaveDirectoryInfo(); }
/// <summary> /// 在当前目录下新建文件夹 /// </summary> public static void AddNewFolder() { //获取用户输入 string folderName = Interaction.InputBox("Please Set A name of new folder."); //如果为空,则忽略 if (folderName == "") { return; } //创建一个新的逻辑节点 FileTreeNode folderNode = new FileTreeNode { FileID = "0", FileKind = ContentKind.Folder, FileInfo = "用户自定义文件夹", FileSize = 0, FromApp = "Vss", NodeName = folderName, SubNodes = new List <FileTreeNode>() }; //加入当前节点中 AddNode(folderNode); }
public FileList() { extensions = new List<string>(); extensions.Add(".cs"); extensions.Add(".vb"); extensions.Add(".resx"); extensions.Add(".boo"); InitializeComponent(); InitializeMenu(); openFileDialog.Filter = @"All known formats (*.cs;*.vb;*.resx;*.boo)|*.cs;*.vb;*.resx;*.boo|C# files (*.cs)|*.cs|VisualBasic files (*.vb)|*.vb|Boo Files (*.boo)|*.boo|Resource files (*.resx)|*.resx|All files (*.*)|*.*"; iconList.Images.Add(".cs", Resources.cs); iconList.Images.Add(".vb", Resources.vb); iconList.Images.Add(".jsl", Resources.jsl); iconList.Images.Add(".boo", Resources.boo); iconList.Images.Add(".resx", Resources.resx); iconList.Images.Add("unknown", Resources.unknown); iconList.Images.Add("FolderOpened", Resources.FolderOpened); iconList.Images.Add("FolderClosed", Resources.FolderClosed); rootNode = new FileTreeNode(); rootNode.Text = RootDirErrMsg; rootNode.ImageKey = "FolderOpened"; rootNode.SelectedImageKey = rootNode.ImageKey; rootNode.Expand(); treeView.Nodes.Add(rootNode); showAllFiles = false; needCompilation = true; }
/// <summary> /// 删除某个节点 /// </summary> /// <param name="fileNode"></param> /// <param name="bAsk"></param> public static void DeleteNode(FileTreeNode fileNode, bool bAsk = true) { if (fileNode == null) { MessageBox.Show("Please Select A file or folder In ViewList !", "Error"); return; } //获取用户输入 if (bAsk) { DialogResult dr = MessageBox.Show("Are you sure to delete the selection file or folder ?", "Delete Asking", MessageBoxButtons.YesNo); if (dr != DialogResult.Yes) { return; } } //确认删除 //首先从当前节点中删除掉这个节点 CurrentNode.SubNodes.Remove(fileNode); if (fileNode.SubNodes != null) { //如果是一个文件夹,还需要去TreeView删除对应的TreeNode //寻找他的父节点 TreeNode CurTreeNode = FindNodeInTree(uiTreeNode.TopNode, CurrentNode); TreeNode treeNode = FindNodeInTree(uiTreeNode.TopNode, fileNode); //删除被删除的节点 CurTreeNode.Nodes.Remove(treeNode); } //设置ListView TurnCurrentNode(CurrentNode); BLLControl.SaveDirectoryInfo(); }
public override System.Object Exec(Computer computer, Shell shell, String[] args) { if (args.Length > 1) { FileTreeNode file = shell.filenode.GetChild(args[1]); Lua luastate = new Lua(); if (file != null && file is File) { luastate["shell"] = shell; luastate["computer"] = computer; luastate.DoString(@" function print(str) shell:PushMsg(str) end "); try { luastate.DoString(((File)file).text); } catch (NLua.Exceptions.LuaScriptException emm) { shell.PushMsg(emm.Message); } } } return(null); }
public override System.Object Exec(Computer computer, Shell shell, String[] args) { if (args.Length > 2) { if (args[1] == "/") { return(null); } FileTreeNode file = _GetNode(computer, shell, args[1]); Folder to = (Folder)_GetNode(computer, shell, args[2]); if ((file == null) || (to == null)) { return(null); } if (to is Folder) { if (!to.HasChild(file.name)) { var parent = ((Folder)file.parent); parent.RemoveChild(file.name); to.AddChild(file); } else { shell.PushMsg("无法移动,已有同名文件"); } } } return(null); }
public void AddContentToFile(string filePath, string content) { FileTreeNode node = GetNodeFromPath(filePath, true); node.IsFile = true; node.Content += content; }
private FileTreeNode GetNodeFromPath(string path, bool createIfNotExists) { string[] paths = path.Split('/').Where(p => !string.IsNullOrWhiteSpace(p)).ToArray(); FileTreeNode currentNode = root; for (int i = 0; i < paths.Length; i++) { string p = paths[i]; if (!currentNode.SubTreeNode.ContainsKey(p)) { if (createIfNotExists) { currentNode.SubTreeNode.Add(p, new FileTreeNode(p)); } else { throw new InvalidOperationException("Path not found"); } } currentNode = currentNode.SubTreeNode[p]; } return(currentNode); }
public FileList() { extensions = new List <string>(); extensions.Add(".cs"); extensions.Add(".vb"); extensions.Add(".resx"); extensions.Add(".boo"); InitializeComponent(); InitializeMenu(); openFileDialog.Filter = @"All known formats (*.cs;*.vb;*.resx;*.boo)|*.cs;*.vb;*.resx;*.boo|C# files (*.cs)|*.cs|VisualBasic files (*.vb)|*.vb|Boo Files (*.boo)|*.boo|Resource files (*.resx)|*.resx|All files (*.*)|*.*"; iconList.Images.Add(".cs", Resources.cs); iconList.Images.Add(".vb", Resources.vb); iconList.Images.Add(".jsl", Resources.jsl); iconList.Images.Add(".boo", Resources.boo); iconList.Images.Add(".resx", Resources.resx); iconList.Images.Add("unknown", Resources.unknown); iconList.Images.Add("FolderOpened", Resources.FolderOpened); iconList.Images.Add("FolderClosed", Resources.FolderClosed); rootNode = new FileTreeNode(); rootNode.Text = RootDirErrMsg; rootNode.ImageKey = "FolderOpened"; rootNode.SelectedImageKey = rootNode.ImageKey; rootNode.Expand(); treeView.Nodes.Add(rootNode); showAllFiles = false; needCompilation = true; }
private void CreateTree() { root = FileTreeNode.Get().GenerateFileTree(list); Debug.Log("生成文件树完成"); // ShowFileTree (root, 0); // Debug.Log ("显示文件树完成"); }
/// <summary> /// 根据指定ID,递归删除文件夹下所有文件! /// </summary> /// <param name="node"></param> /// <param name="fileID"></param> private static void DeleteFileByID(FileTreeNode node, string fileID) { if (node.SubNodes != null) { List <int> listRemove = new List <int>(); for (int i = 0; i < node.SubNodes.Count; i++) { //如果是一个文件 if (node.SubNodes[i].SubNodes == null) { if (node.SubNodes[i].FileID == fileID) { listRemove.Add(i); } } else { //DeleteFileByID(node.SubNodes[i], fileID); } } foreach (int i in listRemove) { node.SubNodes.RemoveAt(i); } } }
private void treeView_AfterLabelEdit(object sender, NodeLabelEditEventArgs e) { e.CancelEdit = true; if (e.Label != null) { Debug.Assert(e.Node != rootNode); if (!e.Node.Parent.Nodes.ContainsKey(e.Label)) { FileTreeNode node = (FileTreeNode)e.Node; if (node.File.Type == FileSystemObjectType.File) { if (String.Compare(Path.GetExtension(e.Label), node.File.Info.Extension, StringComparison.InvariantCultureIgnoreCase) != 0) { DialogResult result = MessageBox.Show("You want to change extension. File could loose its meaning. Do you really want to do that?", "File Extension Change", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (result != DialogResult.OK) { return; } } } node.File.Rename(e.Label); } else { MessageBox.Show("File or directory of specified name already exists.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
private void dummyContextMenu_Opening(object sender, CancelEventArgs e) { e.Cancel = true; if (treeView.SelectedNode != null) { FileTreeNode node = (FileTreeNode)treeView.SelectedNode; PopupMenu menu; if (node.File.Type == FileSystemObjectType.File) { menu = fileMenu; } else { menu = dirMenu; } bool isRootSelected = treeView.SelectedNode == rootNode; menu.MenuCommands["Paste"].Enabled = Clipboard.ContainsFileDropList() || Clipboard.ContainsData(typeof(CutFileList).ToString()); menu.MenuCommands["Cut"].Enabled = !isRootSelected; menu.MenuCommands["Rename"].Enabled = !isRootSelected; menu.MenuCommands["Delete"].Enabled = !isRootSelected; menu.MenuCommands["Show All Files"].Checked = ShowAllFiles; menu.TrackPopup(Control.MousePosition); } }
public void PopulateDrives() { bool first = true; if (!cancelToken.IsCancellationRequested) { foreach (var fileInfo in EnumerateDrives(Enumerator, connection)) { if (cancelToken.IsCancellationRequested) { break; } // Windows drive letter paths have a '\' at the end. Linux drive paths won't have a '\'. var node = new FileTreeNode { Name = Convert.ToString(fileInfo.path, CultureInfo.InvariantCulture).TrimEnd('\\'), FullPath = fileInfo.path }; this.fileTree.RootNode.AddChildNode(node); if (first) { this.fileTree.SelectedNode = node; first = false; } node.Children = this.GetChildren(node.FullPath); } } }
public virtual async ValueTask <Tuple <ResponseStatus, object> > GetImage(long imageId) { var image = await MangaManager.GetImage(imageId); FileTreeNode path = null; if (image != null) { path = LibraryManager.GeFileTreeNode(image.PathId); } if (path == null) { return(new Tuple <ResponseStatus, object>( ResponseStatus.NotFound, null)); } var data = await path.ReadAllBytes(); return(new Tuple <ResponseStatus, object>( data != null ? ResponseStatus.Success : ResponseStatus.NotFound, data)); }
public static FileTreeNode UploadTextFile(string sContent, string nodeName, string strID, string strInfo, ContentKind cKind, string strApp) { TFile file = new TFile(); file.FileContent = System.Text.Encoding.UTF8.GetBytes(sContent); file.FileId = strID; file.FileInfo = strInfo; file.FileKind = (TContentKind)cKind; file.FileSize = file.FileContent.Length; file.FromApp = strApp; file.FileOwner = GetValidator().VssID; ClientAdapt.Open(); TVssService.Client client = ClientAdapt.GetClient(); string strNewID = client.Put(GetValidator(), file); ClientAdapt.Close(); FileTreeNode fileTreeNode = new FileTreeNode(); System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); fileTreeNode.CreateDate = (uint)(DateTime.Now - startTime).TotalSeconds; fileTreeNode.FileID = strNewID; fileTreeNode.FileInfo = strInfo; fileTreeNode.FileKind = cKind; fileTreeNode.FileSize = (ulong)file.FileContent.Length; fileTreeNode.FromApp = strApp; fileTreeNode.SubNodes = null; fileTreeNode.FileOwner = GetValidator().VssID; fileTreeNode.NodeName = nodeName; return(fileTreeNode); }
private void btnUpload_Click(object sender, EventArgs e) { FileTreeNode file = null; //针对直接上传图片,却选择的是微博类型的情况做的特殊处理。 do { if (strUploadPath.Substring(strUploadPath.LastIndexOf('.') + 1).ToLower() == "jpg") { if (cbFileKind.Text == "Weibo") { file = BLLControl.UploadFile(strUploadPath, fileID, txtFileInfo.Text, ContentKind.Picture, "VssDisk"); break; } } //正常情况 file = BLLControl.UploadFile(strUploadPath, fileID, txtFileInfo.Text, (ContentKind)(cbFileKind.SelectedIndex + 1), "VssDisk"); break; }while (true); //如果是上传不是替换 if (fileID == "") { UIController.AddNode(file); } else { UIController.ReplaceNodeByFileID(fileID, null, file); } //如果上传的是一张图片 if (strUploadPath.Substring(strUploadPath.LastIndexOf('.') + 1).ToLower() == "jpg") { if (cbFileKind.Text == "Weibo") { BlogMsg blog = new BlogMsg(); blog.strUin = BLLControl.GetValidator().VssID; blog.strFromClient = BLLControl.GetValidator().AppID; blog.strObjPicUrl = file.FileID; blog.strMsgID = ""; blog.strNickName = ""; blog.strContent = ""; DateTime dt = DateTime.Now; blog.strWriteDate = dt.Year + "年" + dt.Month + "月" + dt.Day + "日 " + dt.Hour + ":" + dt.Minute + ":" + dt.Second; blog.strObjKind = "None"; blog.imgHeadSrc = ""; file = BLLControl.UploadTextFile(JsonConvert.SerializeObject(blog), strUploadPath.Substring(strUploadPath.LastIndexOf("\\") + 1), "", txtFileInfo.Text, (ContentKind)(cbFileKind.SelectedIndex + 1), "VssDisk"); blog.strMsgID = file.FileID; file = BLLControl.UploadTextFile(JsonConvert.SerializeObject(blog), strUploadPath.Substring(strUploadPath.LastIndexOf("\\") + 1), file.FileID, txtFileInfo.Text, (ContentKind)(cbFileKind.SelectedIndex + 1), "VssDisk"); UIController.AddNode(file); } } this.Close(); }
//Recurse seaching in folders on drives FileTreeNode MMSearch(string sDir) { FileTreeNode curr = new FileTreeNode(); string l = sDir.Remove(0, sDir.LastIndexOf('\\') + 1); if (l == "") { l = sDir; } try { if (Directory.GetDirectories(sDir).Count() == 0) { if (HasMMFiles(sDir)) { curr = new FileTreeNode(GetFileNodes(sDir).ToArray <FileTreeNode>(), l); return(curr); } else { return(null); } } if (Directory.GetDirectories(sDir).Count() > 0) { List <FileTreeNode> children = new List <FileTreeNode>(); FileTreeNode child; foreach (string d in Directory.GetDirectories(sDir)) { child = MMSearch(d); if (child != null) { children.Add(child); } } if (HasMMFiles(sDir)) { foreach (FileTreeNode f in GetFileNodes(sDir)) { children.Add(f); } } if (children.Count != 0) { curr = new FileTreeNode(children.ToArray <FileTreeNode>(), l); return(curr); } else { return(null); } } } catch (Exception ex) { return(null); } return(null); }
public ScanMangaTask(FileTreeNode mangaPath, string name, IMetadataScraper scraper, ScheduleTask parent) { MangaPath = mangaPath; Scraper = scraper; Name = name; Scraper = scraper; Parent = parent; }
public void AddFileTreeNodeChildTest() { FileTreeNode node1 = new FileTreeNode(); FileTreeNode node2 = new FileTreeNode(); node1.AddChildNode(node2); Assert.NotNull(node1.Children); }
public FileTreeNode GenerateFileTree(List <string> list) { FileTreeNode root = new FileTreeNode(); root = GenerateFileNode("", "生物/", list); OpenAllNode(root); return(root); }
public static FileTreeNode Get() { if (_instance == null) { _instance = new FileTreeNode(); } return(_instance); }
private void Paste(FileTreeNode node, StringCollection files, bool copy) { DirectoryInfo destDir = (DirectoryInfo)node.File.Info; foreach (string path in files) { FileSystemObject dest; FileSystemObject src; if (File.Exists(path)) { src = (FileSystemObject) new FileInfo(path); dest = (FileSystemObject) new FileInfo(Path.Combine(destDir.FullName, src.Info.Name)); } else if (Directory.Exists(path)) { src = (FileSystemObject) new DirectoryInfo(path); dest = (FileSystemObject) new DirectoryInfo(Path.Combine(destDir.FullName, src.Info.Name)); } else { continue; } if (String.Compare(src.Info.FullName, dest.Info.FullName, StringComparison.InvariantCultureIgnoreCase) == 0) { continue; } if (dest.Info.Exists) { DialogResult result = MessageBox.Show("File or directory " + dest.Info.Name + " already exists. Overwrite?", "Warning", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question); switch (result) { case DialogResult.Yes: dest.Delete(); break; case DialogResult.No: continue; case DialogResult.Cancel: return; } } if (copy) { src.CopyTo(dest.Info.FullName); } else { src.MoveTo(dest.Info.FullName); } } }
public void InsertNode(FileTreeNode node) { if (this.children == null) { this.children = new List <FileTreeNode>(); } children.Add(node); node.parent = this; }
/// <summary> /// 初始化根节点数据 /// </summary> /// <param name="fileTreeNode"></param> public static void InitData(FileTreeNode fileTreeNode) { BLLControl.SetRoot(fileTreeNode); SetFileTreeByObject(fileTreeNode); CurrentNode = fileTreeNode.SubNodes[0]; SetFolderInfoByObject(CurrentNode); SetFileInfoByObject(CurrentNode); uiStackFileTreeNode.Push(CurrentNode); }
private void treeViewproject_DoubleClick(object sender, EventArgs e) { FileTreeNode node = treeViewproject.SelectedNode as FileTreeNode; if (node != null) { LoadExcelSheets(node.Tag.ToString()); } }
/// <summary> /// 用户执行前进 /// </summary> public static void GoForward() { if (uiGoForwardFileTreeNode.Count == 0) { return; } FileTreeNode fileNode = uiGoForwardFileTreeNode.Pop(); TurnCurrentNode(fileNode); }
/// <summary> /// 使用根结点来实现目录结构 /// </summary> /// <param name="treeView">树型目录组件的引用</param> /// <param name="rootNode">根结点</param> private static void SetFileTreeByObject(FileTreeNode rootFileNode) { TreeNode rootNode = new TreeNode(); SetTreeNodeByObject(ref rootNode, rootFileNode); uiTreeNode.Nodes.Clear(); foreach (TreeNode node in rootNode.Nodes) { uiTreeNode.Nodes.Add(node); } }
private void fileWatcher_Changed(object sender, FileSystemEventArgs e) { if (showAllFiles || extensions.Contains(Path.GetExtension(e.FullPath))) { string[] path = FileList.SplitPath(e.Name); FileTreeNode node = rootNode; for (int i = 0; i < path.Length - 1; i++) { Debug.Assert(node.File.Type == FileSystemObjectType.Directory); FileTreeNode childNode = (FileTreeNode)node.Nodes[path[i]]; if (childNode == null) { ReloadDir(node); return; } node = childNode; } switch (e.ChangeType) { case WatcherChangeTypes.Created: FileTreeNode n = new FileTreeNode(); n.File = new FileSystemObject(new FileInfo(e.FullPath)); node.Nodes.Add(n); node.Expand(); if (n.FullPath == editItem) { editItem = null; n.EnsureVisible(); n.BeginEdit(); } break; case WatcherChangeTypes.Deleted: node.Nodes.RemoveByKey(path[path.Length - 1]); // Name break; } NeedCompilation = true; } }
private void Paste(FileTreeNode node, StringCollection files, bool copy) { DirectoryInfo destDir = (DirectoryInfo)node.File.Info; foreach (string path in files) { FileSystemObject dest; FileSystemObject src; if (File.Exists(path)) { src = (FileSystemObject)new FileInfo(path); dest = (FileSystemObject)new FileInfo(Path.Combine(destDir.FullName, src.Info.Name)); } else if (Directory.Exists(path)) { src = (FileSystemObject)new DirectoryInfo(path); dest = (FileSystemObject)new DirectoryInfo(Path.Combine(destDir.FullName, src.Info.Name)); } else continue; if (String.Compare(src.Info.FullName, dest.Info.FullName, StringComparison.InvariantCultureIgnoreCase) == 0) continue; if (dest.Info.Exists) { DialogResult result = MessageBox.Show("File or directory " + dest.Info.Name + " already exists. Overwrite?", "Warning", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question); switch (result) { case DialogResult.Yes: dest.Delete(); break; case DialogResult.No: continue; case DialogResult.Cancel: return; } } if (copy) { src.CopyTo(dest.Info.FullName); } else { src.MoveTo(dest.Info.FullName); } } }
/// <returns>Added files count.</returns> private int ReloadDir(FileTreeNode node) { DirectoryInfo dir = node.File.Info as DirectoryInfo; Debug.Assert(dir != null, "dir != null"); node.Nodes.Clear(); int count = 0; FileInfo[] files = dir.GetFiles(); foreach (FileInfo f in files) { if (showAllFiles || extensions.Contains(f.Extension)) { FileTreeNode n = new FileTreeNode(); n.File = (FileSystemObject)f; node.Nodes.Add(n); count++; } } DirectoryInfo[] directories = dir.GetDirectories(); foreach (DirectoryInfo d in directories) { FileTreeNode n = new FileTreeNode(); n.File = (FileSystemObject)d; node.Nodes.Add(n); count += ReloadDir(n); } if (count > 0) { node.Expand(); NeedCompilation = true; } return count; }
//LOAD CAY private void LoadTreeView() { treeViewproject.Nodes.Clear(); DirectoryInfo dir = new DirectoryInfo(CurrentProjectPath); if (dir.Exists) { FolderTreeNode projectNode = new FolderTreeNode(); projectNode.Text = dir.Name; projectNode.Tag = dir; //projectNode.Name = "Folder"; //treenode.ImageIndex = 0; projectNode.ImageIndex = 1; projectNode.SelectedImageIndex = 1; // GetDirectories(dir.GetDirectories(), treenode); treeViewproject.Nodes.Add(projectNode); try { DirectoryInfo[] directories = dir.GetDirectories(); if (directories.Length > 0) { foreach (DirectoryInfo directory in directories) { FolderTreeNode folderNode = new FolderTreeNode(); folderNode.Text = directory.Name; folderNode.Tag = directory.Name; projectNode.Nodes.Add(folderNode); folderNode.ImageIndex = folderNode.SelectedImageIndex = 1; foreach (FileInfo file in directory.GetFiles()) { if (file.Exists) { FileTreeNode fileNode = new FileTreeNode(); fileNode.Text = file.Name; fileNode.Tag = file.FullName; folderNode.Nodes.Add(fileNode); fileNode.ImageIndex = fileNode.SelectedImageIndex = 0; //treenode.Name = "Folder" } } } treeViewproject.ExpandAll(); } } catch (Exception ex) { System.Windows.Forms.MessageBox.Show(ex.Message); } Text = treeViewproject.Nodes[0].Text + " - " + "Automation"; } }
private void treeView_MouseMove(object sender, MouseEventArgs e) { if (draggedNode != null && (e.Button & MouseButtons.Left) != 0) { if (!dragRect.Contains(e.Location)) { StringCollection files = new StringCollection(); files.Add(draggedNode.File.Info.FullName); DataObject o = new DataObject(); o.SetFileDropList(files); draggedNode = null; dragRect = Rectangle.Empty; DoDragDrop(o, DragDropEffects.Copy | DragDropEffects.Move); } } }
private void treeView_MouseUp(object sender, MouseEventArgs e) { draggedNode = null; dragRect = Rectangle.Empty; }
private void addNewFileToolStripMenuItem_Click(object sender, EventArgs e) { AddFile1 newFile = new AddFile1(); //newFile.labelX3.Text = newFile.labelX3.Text + "-" + treeViewproject.SelectedNode.Text; newFile.ShowDialog(); main main = new main(); Excel.Application xlApp = default(Excel.Application); Excel.Workbook xlWorkBook = default(Excel.Workbook); Excel.Worksheet xlWorkSheet = default(Excel.Worksheet); FileTreeNode treeNode = new FileTreeNode(); treeNode.Text = newFile.txtName.Text + "." + newFile.cboType.Text; treeNode.Tag = CurrentProjectPath + @"\" + treeViewproject.SelectedNode.Text + @"\" + treeNode.Text; treeNode.Name = "File"; treeNode.ImageIndex = newFile.cboType.SelectedIndex; newFile.Close(); if (newFile.txtName.Text != "") { treeViewproject.SelectedNode.Nodes.Add(treeNode); treeViewproject.SelectedNode.ExpandAll(); //@new new1 = new @new(); //string path = new1.ProjectPath; //string fName = path + @"\" + treeViewproject.SelectedNode.Tag + @"\" + treeNode.Tag; string fName = treeViewproject.Nodes[0].Tag + @"\" + treeViewproject.SelectedNode.Text + @"\" + treeNode.Text; //const string fName =@"F:\abc.xls"; try { object misValue = System.Reflection.Missing.Value; xlApp = new Excel.Application(); xlWorkBook = xlApp.Workbooks.Add(misValue); xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); xlWorkBook.SaveAs(fName, Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue); xlWorkBook.Close(true, misValue, misValue); xlApp.Quit(); releaseObject(xlWorkSheet); releaseObject(xlWorkBook); releaseObject(xlApp); } finally { if (xlApp != null) releaseObject(xlApp); if (xlWorkBook != null) releaseObject(xlWorkBook); if (xlWorkSheet != null) releaseObject(xlWorkSheet); } //if (System.IO.File.Exists(fName)) //{ // //if (System.Windows.Forms.MessageBox.Show("Would you like to open the excel file?", this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) // //{ // //try // //{ // // System.Diagnostics.Process.Start(fName); // //} // //catch (Exception ex) // //{ // // System.Windows.Forms.MessageBox.Show("Error opening the excel file." + Environment.NewLine + // // ex.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error); // //} // //} //} //CompoundDocument _doc = CompoundDocument.Open(fName); } }
private void treeView_MouseDown(object sender, MouseEventArgs e) { draggedNode = (FileTreeNode)treeView.GetNodeAt(e.Location); if (draggedNode == rootNode) draggedNode = null; if (draggedNode != null) { Size dragSize = SystemInformation.DragSize; dragRect = new Rectangle(new Point(e.X - (dragSize.Width / 2), e.Y - (dragSize.Height / 2)), dragSize); } }
private void OpenProject() { treeViewproject.Nodes.Clear(); tabControl1.TabPages.Clear(); FolderBrowserDialog fbd = new FolderBrowserDialog(); fbd.ShowNewFolderButton = false; fbd.Description = "Mời bạn chọn thư mục"; fbd.RootFolder = Environment.SpecialFolder.MyComputer; if (fbd.ShowDialog() == DialogResult.OK) { TreeNode treenode; CurrentProjectPath = fbd.SelectedPath; //string path1 = fbd.SelectedPath + treeViewproject.SelectedNode.Tag; //doc = CompoundDocument.Open(path); DirectoryInfo dir = new DirectoryInfo(CurrentProjectPath); if (dir.Exists) { FolderTreeNode projectNode = new FolderTreeNode(); projectNode.Text = dir.Name; projectNode.Tag = dir; //projectNode.Name = "Folder"; //treenode.ImageIndex = 0; projectNode.ImageIndex = 1; projectNode.SelectedImageIndex = 1; // GetDirectories(dir.GetDirectories(), treenode); treeViewproject.Nodes.Add(projectNode); try { DirectoryInfo[] directories = dir.GetDirectories(); if (directories.Length > 0) { foreach (DirectoryInfo directory in directories) { FolderTreeNode folderNode =new FolderTreeNode(); folderNode.Text = directory.Name; folderNode.Tag = directory.Name; projectNode.Nodes.Add(folderNode); folderNode.ImageIndex = folderNode.SelectedImageIndex = 1; foreach (FileInfo file in directory.GetFiles()) { if (file.Exists) { FileTreeNode fileNode = new FileTreeNode(); fileNode.Text = file.Name; fileNode.Tag = file.FullName; folderNode.Nodes.Add(fileNode); fileNode.ImageIndex = fileNode.SelectedImageIndex = 0; //treenode.Name = "Folder" } } } treeViewproject.ExpandAll(); } } catch (Exception ex) { System.Windows.Forms.MessageBox.Show(ex.Message); } Text = treeViewproject.Nodes[0].Text + " - " + "Automation"; } } }