/// <summary> /// Agrega una lista de archivos de un usuario de la red a la ventana /// </summary> /// <param name="netUser">El usuario dueño de la lista de archivo</param> /// <param name="fileList">La lista de archivos</param> public void addFileList(NetUser netUser, FileInformationList fileList) { if (treeView.InvokeRequired) { NetUserFilesCallback d = new NetUserFilesCallback(addFileList); this.Invoke(d, new object[] { netUser, fileList }); } else { removeFileList(netUser); FileInformation[] fileListArray = fileList.toArray(); lock (thisLock) { foreach (FileInformation file in fileListArray) { TreeNode fileNode = new TreeNode(file.Name + " (" + (file.Size / 1024) + " KB) " + " [" + netUser.Name + "]"); fileNode.ImageIndex = 0; fileNode.SelectedImageIndex = 0; NetUserFile netUserFile = new NetUserFile(); netUserFile.NetUser = netUser; netUserFile.FileInformation = file; fileNode.Tag = netUserFile; treeView.Nodes.Add(fileNode); } } } }
/// <summary> /// Asigna un menú con opción de descarga a un nodos del arbol de archivos /// </summary> /// <param name="treeNode">El nodo del árbol de archivos</param> /// <param name="netUserFile">El archivo asociado a un usuario de red</param> private void assignMenuStrip(ref TreeNode treeNode, NetUserFile netUserFile) { ContextMenuStrip contextMenucontextMenu = new ContextMenuStrip(); ToolStripMenuItem toolStripMenuItem = new ToolStripMenuItem(); toolStripMenuItem.Text = "Download"; toolStripMenuItem.Click += toolStripEvent; toolStripMenuItem.Tag = netUserFile; contextMenucontextMenu.Items.Add(toolStripMenuItem); treeNode.ContextMenuStrip = contextMenucontextMenu; }