コード例 #1
0
        private void AfficherTreeNode(TreeNode uneTreeNode, ListView uneListeRecepteur, bool actionLocal = true)
        {
            ITransfer unTranferable = null;

            if (!string.IsNullOrEmpty(uneTreeNode.Text))
            {
                unTranferable = (ITransfer)uneListeRecepteur.SelectedItems[0].Tag;
                List <ITransfer> lesTranferables = new List <ITransfer>();

                if (unTranferable.EstUnDossier())
                {
                    TreeNode leNodeSelectionne = new TreeNode();
                    leNodeSelectionne.Text       = unTranferable.GetName();
                    leNodeSelectionne.Name       = unTranferable.GetName();
                    leNodeSelectionne.ImageIndex = 0;
                    leNodeSelectionne.Tag        = unTranferable;
                    int  indiceTrouve  = RechercherTreeNode(leNodeSelectionne, uneTreeNode);
                    bool managerExiste = false;

                    if (actionLocal)
                    {
                        if (_mesGestionnaires.ContainsKey("$LocalManager"))
                        {
                            lesTranferables = _mesGestionnaires["$LocalManager"].ListerContenu(unTranferable);
                            leNodeSelectionne.Nodes.Clear();
                            ExtraireNode(lesTranferables, leNodeSelectionne);
                            managerExiste = true;
                        }
                        else
                        {
                            MessageBox.Show("Le gestionnaire de fichier local n'est pas présent dans le gestionnaire !");
                        }
                    }
                    else
                    {
                        if (_mesGestionnaires.ContainsKey("$DistantManager"))
                        {
                            lesTranferables = _mesGestionnaires["$DistantManager"].ListerContenu(unTranferable);
                            leNodeSelectionne.Nodes.Clear();
                            ExtraireNode(lesTranferables, leNodeSelectionne);
                            managerExiste = true;
                        }
                        else
                        {
                            MessageBox.Show("La connexion au serveur ftp n'est pas configurée !");
                        }
                    }

                    if (managerExiste)
                    {
                        uneTreeNode = uneTreeNode.Nodes[indiceTrouve];

                        if (actionLocal)
                        {
                            trv_arboLocal.Select();
                            trv_arboLocal.SelectedNode = uneTreeNode;
                        }
                        else
                        {
                            trv_arboDistant.Select();
                            trv_arboDistant.SelectedNode = uneTreeNode;
                        }

                        uneTreeNode.Expand();
                    }
                }
            }
        }