none
Carregar ImageList a partir de um diretório RRS feed

  • Pergunta

  • Senhores,

    Não consigo identificar o problema. No seguinte código, ao chegar na linha onde a imagem é carregada para o ImageList o programa encerra o foreach logo no primeiro loop, sem mensagem de erro, nem nada. Alguma idéia do que esta acontecendo?

    private ImageList carregarImageList()
            {
                ImageList li = new ImageList();
                string pathImagem = string.Empty;
                string diretorio =                         @"C:\Users\user\Desktop\ProjetosVisualStudio\TreeView\TreeViewWForms\images";

                DirectoryInfo dir = new DirectoryInfo(diretorio);
                foreach (FileInfo item in dir.GetFiles())
                {
                    pathImagem = diretorio + "\"" + item.ToString();
            Image img = Image.FromFile(pathImagem);
                    li.Images.Add(img);
                } return li;
            }

    quarta-feira, 20 de fevereiro de 2013 13:08

Todas as Respostas

  • Já verificou quantos objetos o seu método GetFiles() está retornando? se ele estiver retornando apenas um, o foreach vai rodar apenas uma vez. Coloque um breakpoint nele, e antes de acabar o foreach passe o mouse em cima, e verifique quantos objetos o collection retornado possui.

    Ao infinito e além!

    quinta-feira, 21 de fevereiro de 2013 11:55
  • Sugiro que ao invés de utilizar 

    pathImagem = diretorio + "\"" + item.ToString(); 

    use

    pathImage, = Path,Combine(diretorio, item.ToString());

    Caso queira continuar utilizando dessa forma então utilize "\\".


    Sds, Renato Lorandi.

    segunda-feira, 25 de fevereiro de 2013 12:47
  • amigo o seu erro é:

    você está colocando aspa no caminho para separar a pasta...

    o correto é você separar com o \ repare que você fez

    pathImagem = diretorio + "\"" + item.ToString();

    o correto seria

    pathImagem = diretorio + "\\" + item.ToString();

    abraços !!

    segunda-feira, 25 de fevereiro de 2013 13:23