//Metodo para actualizar la lista de archivos public void ActualizarArchivos() { if (!Dispatcher.CheckAccess()) { Delegado_Actualizar delegado = new Delegado_Actualizar(ActualizarArchivos); object[] args = { }; Dispatcher.Invoke(delegado, args); } else { //Lista nueva DirectoryInfo files_list = new DirectoryInfo(ruta_archivos); //Lista nueva vs. lista vieja if (files_list.GetFiles().Length != archivos_compartidos.Count) { //Actualizar la lista archivos_compartidos = LoadFiles(ruta_archivos); //Avisar cambio EscribirParaTodos(Mensajes.ACTUALIZAR); //Metodo para acceder a la interfaz grafica desde otro hilo ActualizarListBox(archivos_compartidos); } } }
//Metodo DELEGADO para actualizar la lista de archivos public void ActualizarArchivos(string[] data) { if (!Dispatcher.CheckAccess()) { Delegado_Actualizar delegado = new Delegado_Actualizar(ActualizarArchivos); object[] args = { data }; Dispatcher.Invoke(delegado, args); } else { archivos_compartidos.Clear(); foreach (string dato in data) { if (dato.Length > 3) { archivos_compartidos.Add(new Item(dato)); } } ActualizarListBoxArchivos(archivos_compartidos); } }