Después de que los estudiantes de Visual Basic aprendan todo sobre los bucles y las declaraciones y subrutinas condicionales, una de las siguientes cosas que a menudo preguntan es: "¿Cómo agrego un mapa de bits, un archivo .wav, un cursor personalizado u otro efecto especial?" Una respuesta son los archivos de recursos. Cuando agrega un archivo de recursos a su proyecto, se integra para una velocidad de ejecución máxima y una molestia mínima al empaquetar e implementar su aplicación.
El uso de archivos de recursos no es la única forma de incluir archivos en un proyecto VB, pero tiene ventajas reales. Por ejemplo, podría incluir un mapa de bits en un control PictureBox o usar la API mciSendString Win32.
Microsoft define un recurso como "cualquier dato no ejecutable que se implemente lógicamente con una aplicación".
La forma más fácil de administrar archivos de recursos en su proyecto es seleccionar la pestaña Recursos en las propiedades del proyecto. Para ello, haga doble clic en Mi proyecto en el Explorador de soluciones o en las propiedades de su proyecto en el elemento del menú Proyecto..
El uso de archivos de recursos agrega otra ventaja: una mejor globalización. Los recursos normalmente se incluyen en su ensamblaje principal, pero .NET también le permite empaquetar recursos en ensamblajes satelitales. De esta manera, logra una mejor globalización porque incluye solo los conjuntos de satélites que se necesitan. Microsoft le dio a cada idioma dialecto un código. Por ejemplo, el dialecto americano del inglés se indica con la cadena "en-US", y el dialecto suizo del francés se indica con "fr-CH". Estos códigos identifican los conjuntos de satélites que contienen archivos de recursos específicos de la cultura. Cuando se ejecuta una aplicación, Windows usa automáticamente los recursos contenidos en el ensamblaje del satélite con la cultura determinada a partir de la configuración de Windows.
Como los recursos son una propiedad de la solución en VB.Net, puede acceder a ellos al igual que otras propiedades: por nombre utilizando el objeto My.Resources. Para ilustrar, examine esta aplicación diseñada para mostrar iconos de los cuatro elementos de Aristóteles: aire, tierra, fuego y agua..
Primero, debe agregar los íconos. Seleccione la pestaña Recursos de las Propiedades del proyecto. Agregue iconos seleccionando Agregar archivo existente en el menú desplegable Agregar recursos. Después de agregar un recurso, el nuevo código se ve así:
Private Sub RadioButton1_CheckedChanged (…
Maneja MyBase.Load
Button1.Image = My.Resources.EARTH.ToBitmap
Button1.Text = "Tierra"
End Sub
Si está utilizando Visual Studio, puede incrustar recursos directamente en el ensamblaje de su proyecto. Estos pasos agregan una imagen directamente a su proyecto:
Luego puede usar el mapa de bits directamente en un código como este (donde el mapa de bits era el tercero, índice número 2 en el ensamblaje).
Dim res () As String = GetType (Form1) .Assembly.GetManifestResourceNames ()
PictureBox1.Image = Nuevo System.Drawing.Bitmap (_
GetType (Form1) .Assembly.GetManifestResourceStream (res (2)))
Aunque estos recursos están incrustados como datos binarios directamente en el ensamblaje principal o en los archivos de ensamblaje satelital, cuando construye su proyecto en Visual Studio, se hace referencia a ellos mediante un formato de archivo basado en XML que usa la extensión .resx. Por ejemplo, aquí hay un fragmento del archivo .resx que acaba de crear:
type = "System.Resources.ResXFileRef,
System.Windows.Forms ">
… \ Resources \ CLOUD.ICO; System.Drawing.Icon,
System.Drawing, Version = 2.0.0.0,
Cultura = neutral,
PublicKeyToken = b03f5f7f11d50a3a
Debido a que son solo archivos XML de texto, un archivo .resx no puede ser usado directamente por una aplicación de .NET Framework. Tiene que convertirse a un archivo binario ".resources", agregándolo a su aplicación. Este trabajo lo realiza un programa de utilidad llamado Resgen.exe. Es posible que desee hacer esto para crear los conjuntos de satélites para la globalización. Debe ejecutar resgen.exe desde un símbolo del sistema.
"Resumen de recursos". Microsoft, 2015.