Recursos en VS .Net
[Cómo crear, administrar y obtener recursos incrustados en nuestras aplicaciones]

Fecha: 09/Sep/2004 (7/Sep/2004)
Autor: Félix Guerrero felixcriv@msn.com

.

Las aplicaciones de desarrollo profesional requieren que todos cada uno de los archivos que componen un proyecto de aplicación pertenezcan a un esquema que permita de forma rápida ubicar, usar y editar los recursos que formarán parte de la aplicación final; VS .Net nos permite administrar recursos (archivos de texto, archivos de sonido, imágenes, archivos de video, iconos...) bajo los archivos recursos o .resx que simplemente son archivos xml que guardan estructuradamente los datos binarios de nuestros archivos de recursos (base64 - encoded).

Existe una herramienta que permite generar archivos .resx que después podemos incorporar a nuestros proyectos, creada por Lutz Roeder: Resourcer. Simplemente crea una solución de en VS .Net (como biblioteca de clases en VC#), después selecciona Agregar/Agregar un nuevo elemento y selecciona Archivos de recursos de ensamblado (.resx files); con este archivo ya creado Resourcer lo empleara para añadir los recursos. La interfaz y uso de Resourcer es sencilla; abre desde éste el archivo .resx de tu proyecto y en Edit añade los archivos.

 

 

 

 

 

Teniendo ya nuestros recursos cargado en nuestro .resx file, crearemos una libreria de enlace dinámico que se encargue de tomar el recurso y entregarlo como objeto a nuestra aplicación para su posterior uso en cualquier de VC# o VB .Net, el método definido tomará una instancia del recurso que es llamado por su nombre, bajo este esquema puedes desarrollar futuras aplicaciones que integren en una clase compilada todos los recursos que frecuentemente usas en tus aplicaciones; en lineas generales no te preocupes por ello, que al final tendrás tanto los enlaces para la descarga del código como una pequeña explicación de lo hecho.

public Object getResource(string ResourceName)
     {
       ResourceManager resx = new ResourceManager("IA.ResourcesDLL.Images",GetType().Assembly);
       Object obj = (Object)resx.GetObject(ResourceName);
       return (obj);
     }

Crearemos un administrador de recursos para el archivo .resx, en este ejemplo está bajo en namespace IA.Resources.DLL, donde IA puede ser el nombre de tu grupo de trabajo y ResourceDLL es el nombre del Proyecto, Images es el nombre del archivo .resx que estará de último en esta jerarquía, así que GrupoDeTrabajo.NombreProyecto es el nombre de espacio raíz que debe tener el proyecto, desplázate bajo las propiedades de proyecto para establecer el espacio de nombres raíz.

 

 

Ahora en VB .Net o VC# agrega una referencia de la clase compilada a tu proyecto.

Implementacion en C#

//Objeto Resource
this.resx = new IA.ResourcesDLL.Resource();

//Llamada y asignación del recurso al pictureBox1
this.pictureBox1.Image = (Bitmap)resx.getResource("NombreDelRecurso");

Implementacion en VB .Net

'Objeto para manejar los recursos en la Clase Compilada
 Me.resx = New IA.ResourcesDLL.Resource()
'LLamada al recurso
 Me.obj = Me.resx.getResource("QuemaCaucho")
'Se establece la propiedad Image en el Bitmap creado y convertido
 Me.PictureBox1.Image = New Bitmap(CType(obj, System.Drawing.Bitmap))

 


 

ir al índice

Fichero con el código de ejemplo: felixcriv_Recursos.zip - 46 KB