/// <summary> /// 서버에서 로컬로 보낼 파일 목록 추가 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnToLocalBasket_Click(object sender, EventArgs e) { FileAttributes file = File.GetAttributes(TreeLocalFileList.SelectedNode.Tag.ToString()); if ((file & FileAttributes.Directory) != FileAttributes.Directory) { LocalSideFilePathBasket.Add(TreeLocalFileList.SelectedNode.Tag.ToString()); } }
private void BgwUpload_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { panel1.Enabled = true; LocalSideFilePathBasket.Clear(); pForm2.Hide(); // BackgroundWorker 작업이 끝난 시점이라 Main Thread로 이미 작업이 옮겨왔기 때문에 Cross Thread가 발생하지 않는다. int selectedNodeLevel = TreeServerFileList.SelectedNode.Level; int selectedNodeIndex = TreeServerFileList.SelectedNode.Index; //TreeServerFileList.Nodes.RemoveAt(selectedNodeIndex); using (Session session = new Session()) { session.Open(sessionOptions); RemoteDirectoryInfo directory = session.ListDirectory(SelectedServerPath); //TreeServerFileList.Nodes.Insert(selectedNodeIndex, ServerRecuresiveDirectory(session, directory.Files[0].Name, directory.Files[0].FullName)); } }