Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fernando Delucca

[Resolvido] alterando propriedade do label de dentro de uma funçã

Recommended Posts

Podem me ajudar?

 

private static void DirectoryCopy(string sourceDirName, string destDirName, bool copySubDirs)
		{

			DirectoryInfo dir = new DirectoryInfo(sourceDirName);
			DirectoryInfo[] dirs = dir.GetDirectories();

			if (!dir.Exists)
			{
				throw new DirectoryNotFoundException("O diretório não existe ou não pode ser encontrado: " + sourceDirName);
			}


			if (!Directory.Exists(destDirName))
			{
				Directory.CreateDirectory(destDirName);
			}


			FileInfo[] files = dir.GetFiles();

			foreach (FileInfo file in files)
			{
				string temppath = Path.Combine(destDirName, file.Name);
				file.CopyTo(temppath, true);
				label2.Text = file.Name;
			}


			if (copySubDirs)
			{

				foreach (DirectoryInfo subdir in dirs)
				{
					string temppath = Path.Combine(destDirName, subdir.Name);
					DirectoryCopy(subdir.FullName, temppath, copySubDirs);
					label2.Text = subdir.FullName;
					
				}

			}
			label2.Text = "Concluido!";
		}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Naquele loop onde você copia os arquivos você deveria fazer:

 

FileInfo[] files = dir.GetFiles();

 

foreach (FileInfo file in files)

{

string temppath = Path.Combine(destDirName, file.Name);

file.CopyTo(temppath, true);

label2.Text = file.Name;

label2.Update();

}

Acho que isso deve resolver

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara,

 

Na hora que terminasse o foreach, coisa de demoraria lagum tempo pra ocorrer, mostraria a mensagem de concluido.

 

Acredito que deveria funcionar, mas ocorre o seguinte erro: Error 8 An object reference is required for the non-static field, method, or property 'Copia.FrmPrincipal.label2'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você quer que para cada arquivo ele fique atualizando o Label2?

Se for, isso deve ajudar:

string temppath = Path.Combine(destDirName, file.Name);
file.CopyTo(temppath, true);
label2.Text = file.Name;
Application.DoEvents();

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.