ejemplos
1) Generar Arrays de Controles
Bajar los fuentes
Aquellos que "saben", saben que en Visual Basic generar un array de controles más que fácil, era molesto, dado que cuando se copiaba un Label o TextBox, al pegar venía la clásica, molesta y, muchas veces, perniciosa pregunta "Desea generar un array de controles", cosa que en muchos casos, generaba un "array de problemas".
En Visual Net, parece que lo desconectaron y gracias a la insistencia de J. J. Caires (a) Coco, logré deducir la mecánica para lograrlo.
En este breve ejemplo, defino 2 arrays conteniendo 7 controles cada uno (Cuadros de Texto y Etiquetas), los cargo y los distribuyo en el Formulario y les asigno valores de ejemplo. En si, no cumple ninguna función, tan solo es un tema didáctico.
2) El Comando Color en VbNet
Bajar los fuentes
Existen al menos, dos métodos para asignar color en VB Net: con Color.xxx o con Color.FromArgbColor().
Primero el más sencillo.
Color.Argumento Ej. Color.Red o Color.AliceBlue
Este programita no será genial, pero es algo laborioso.
3) El Comando Color.FromArgb() en VbNet
Bajar los fuentes
Al intentar utilizar mis conocimientos de Visual Basic para controlar los colores en VBNet, sufrí una profunda decepción. Buscaba transferir color por números como por ejemplo Label1.BackColor = 15605 o Picture1.BackColor=VbRed... Nada, hambre y amargura. Nada funcionaba. Por cierto, mucho menos: Form1.BackColor=QbColor(9).
Para colmo los help aseguran que: Label1.BackColor=Microsoft.VisualBasic.RGB(200,34,120) anda. O yo no entiendo s con esta versión 2002, es una utopía.
Si escribimos: Text = Microsoft.VisualBasic.RGB(0, 230, 0), no genera error, pero tampoco sirve.
Sin embargo un día descubrí una forma similar al RGB(), el Color.FromArgb() que en este ejemplo utilizo.
4) Editor de Texto
Bajar los fuentes
En la confección de este programa, he reunido un gran variedad de instrucciones y funciones muy interesantes. Aquí aprenderemos a utilizar un MainMenu (que reemplaza con creces al editor de menúes del VB6). Algunas excelentes propiedades del RichTextBox. Otros controles como OpenFileDialog, SaveFileDialog, PrintPreviewDialog, PrintDialog, PrintDocument, ColorDialog, FontDialog, etc.
Lo que no logro que funcione correctamente es la impresión de un RichTextBox. Incluso lo previsualiza mal. Alguna vez lo averiguaré (supongo). Parece ser que debe usarse el Crystal Report, lo que me hace pensar si es que a veces Microsoft no va para atrás!
Comencemos con la utilización del MainMenu: Al colocarlo en el formulario, podremos observar en la parte superior de este, debajo del título, la frase "Escriba aquí" resaltada en blanco. Haciendo aquí en este letrero (que se pondrá de color azul oscuro), escribiremos el título del primer menú; "Archivo". Al momento observaremos que se "disparan" dos nuevos letreros "Escriba aquí" con resalte blanco debajo y a la derecha de lo que acabamos de escribir, algo asi como puede verse en la imagen a nuestra derecha (Figura 2). Haciendo click en el letrero de abajo, escribiremos "Nuevo" seguido de Enter. Pasaremos a otro cuadro en azul donde escribiremos "Abrir" (siempre sin comillas, que van de adorno en esta explicación). Luego del Enter de rigor, escribiremos "-" (ojo el guión que está abajo de la Ñ, no el signo menos del teclado numérico) y Enter, despues "Guardar", "Guardar Como", "-", "Vista Preliminar", "Imprimir, "-" y "Salir".
Figura 1
Figura 2
Llegará un momento en que la vista quedará como se observa a la derecha (Figura 3).
Despues iremos agregando los menúes paralelos a "Archivo", o sea: "Edición" (compuesto por; "Cortar", "Copiar", "Pegar", "-" y "Seleccionar Todo"), "Formato" ("Fuente" y "Párrafo") y "Zoom" (Este es espectacular). Por si no se dieron cuenta los guiones (-), son las líneas separadoras de los bloques de submenúes.
Todas estas operaciones van escribiendo rutinas de nombre MenuItem2_Click, MenuItem3_Click, etc. en donde se hará, más tarde, la codificación oportuna. En la Ventana de Propiedades, podríamos cambiar el nombre (Name) de estos menúes, como cualquier objeto o asignarle una tecla abreviada (Shortcut) (ver Figura 5, abajo a la derecha). El & que antecede al texto del menú (&Nuevo), tiene por misión premitir acceder al menú oprimiendo la tecla Alt y N durante la ejecución (Nuevo).
Para poder cualquier cada menú, lo único que debemos hacer es hacer doble click en él y entraremos en su área de codificación (al igual que cualquier objeto).
Pondremos el RichTextBox debajo de la tira de menúes. Y como propiedades de base, le pondremos anclaje en los cuatro puntos a Anchor, Font Arial 12 puntos, ScrollBars Vertical y, tal vez, el Text que vemos en Figura 1.
El trabajo final quedaría como puede verse en la Figura 1.
Al Form, le pondremos WindowsState Maximized (preferentemente).
En fin considero que este programa puede ser el más largo de todos mis ejemplos, pero vale la pena estudiarlo pues contempla muchas instrucciones de gran utilidad.
El aspecto final del armado sería el de la Figura 4 abajo.
Figura 4
Figura 5
Colocar un ComboBox debajo del Menú Zoom y rellenarlo con los siguientes valores (porpiedad Items): 500 200 150 100 75 50 25 10, una cifra debajo de la otra.
5) Visual File
Bajar los fuentes
Aquí trateremos la utilización del Control Viewer que en Visual Net se renombra como AxViewer. Este control permite abrir cualquier tipo de archivo porque al igual que el explorador de Windows, asocia al archivo con el programa que lo puede abrir. Si no hay asociación alguna, no lo activa. De esta forma podemos abrir fotos, sonidos, documentos de Office (prueben una planilla Excel y observarán que hasta les permite hacer cálculos), archivos Htm y por ende páginas Web, formatos Pdf, Txt, etc.
Dentro de los etc., abre .Exe (aplicaciones), Dll (librerías) y otros, por lo que les recomiendo precaución, dado que desconozco los riesgos, (recuerden al famoso monito con navaja).
Para cargar este control debemos activar el Menú - Personalizar cuadro de herramientas... (Ctrl T) y en la pestaña que se ve de arranque (Componentes COM), tildar la casilla Viewer Class cuya librería debería ser: C:\Windows\System32\InTouchViewer.dll.
Tomando el control Viewer (figura 2), lo desplegaremos en el form en Left 7, Top 0, con Size 1006, 720 y Anchor completo o sea; Top, Bottom, Left, Right.
Al Form1 le otorgaremos WindowState Maximized y Text Visual File.
Agregaremos un control MainMenu y le asignaremos los menúes Abrir, "-" y Salir.
Figura 1
El resultado de todos estos preparativos sería (aproximadamente) el de la figura 1. En el ejemplo Nº 4 de Visual Basic (Multivisión) encontraremos un equivalente más completo.
6) Shell
En este peculiar ejemplo, trato de explicar algunos usos de la función Shell() inherente a los Basic. Shell posibilita ejecutar casi cualquier comando externo a la aplicación en curso. En este programa lo utilizo para invocar al Explorador de Windows en dos formas diferentes y también para ejecutar un comando externo del DOS (el Xcopy) con la finalidad de copiar archivos. Se puede usar, por ejemplo, para copiar determinados archivos de una aplicación que lo requiera (copias de respaldo).
Dado que uso el Xcopy, utilizo un archivo batch para favorecer la tarea, por lo que (si no bajan los fuentes) les debo indicar que con el Notepad generen un archivo de nombre "Copiador.Bat" y lo almacenen en la carpeta "Bin" de la aplicación que Uds. emprenderán. El archivo debe contener las siguientes líneas:
echo off
cls
echo "Copia de Archivos en DOS"
xcopy Origen\*.* /s Destino
pause
Aparte deberán crear dentro de la mencionada carpeta "Bin" las subcarpetas "Origen" y "Destino", en "Origen" incluyan algunos archivos para que se puedan observar los resultados de la copia, dado que desde Origen", copiaremos todo a "Destino". Como podrán notar, más que un ejmeplo de VbNet, se trata de un ejemplo de DOS (o sea que el DOS sigue con vida!!). La foto 2 ilustra el aspecto de la carpeta Bin de nuestra aplicación.
Figura 1
Figura 2
Por cierto que para copiar archivos, VbNet tiene dispuesto el comando FileCopy() que en otro ejemplo lo expondré. Por lo demás aquí estudiamos CurDir(), que es equivalente a App.Path del Vb6 y uno de los grandes secretos del control de rutas de archivos en las aplicaciones.
7) ToolTip
Bajar los fuentesEste ejemplo pretende demostrar la utilización del Tooltip. ¿Recuerdan que casi todos los controles del Visual Basic 6 traía dentro de sus propiedades esta opción de mostrar un globito de ayuda sobre la función de cada objeto?. Pues en VbNet viene aparte, en un control denominado precisamente Tooltip. Aprovechando el ejemplo, veremos el uso de Fontdialog y Colordialog, dos potentes herramientas de diseño. Una vez desplegado este Control sobre el Formulario (en realidad queda fuera y por debajo de él), al hacer click sobre cualquier control, apreciaremos que aparece la propiedad Tooltip en la Ventana de Propìedades (F4) en su parte inferior (justo donde estábamos acostumbrados a verla en Visual Basic 6).
En la figura de la izquierda vemos desplegados todas las herramientas que necesitaremos, sólo falta aclarar algunos de su atributos.
El botón Color que manejará el color de fondo del TextBox, tendrá como Tooltip; "Color de Fondo".
El botón Fuente: "Fuente".
Salir: "Salir de la Aplicación".
El TextBox: "Escribe lo que se te ocurra".
El Form1 tendrá de ToolTip: "Experimentos con Tooltip" y de Text; Tooltip.
Noten que FontDialog nos permite utilizar un botón Aplicar (FontDialog1.ShowApply = True) siendo su área de codificación:
Private Sub FontDialog1_Apply(ByVal sender As Object, ByVal e As System.EventArgs) Handles FontDialog1.Apply
8) Valida Texto
Bajar los fuentes
Este ejemplito permite estudiar la forma de validar entradas por teclado durante la escritura en un cuadro de texto.
9) Pega Imágenes
Bajar los fuentes
Este corto y sencillo ejemplo permite pegar en el Form cualquier tipo de imagen que se halla copiado previamente, inclusive con la tecla Imprimir Pantalla (Screen Entera) o Alt Imprimir Pantalla (Ventana Activa). Para probarlo copien una imagen o usen las teclas mencionadas y hagan clik en el Form. Se puede salir con Esc.
10) Selector y Visualizador de Imágenes
Bajar los fuentes
Este ejemplo muestra varias funciones interesantes. Manejo de Menúes, ToolTip, Array de Controles PictureBox (con carga y descarga de sus elementos), carga y utilización de un ComboBox, transferencia de imágenes desde la memoria a PictureBox y entre dos PictureBox. Activación y transferencia de un Form principal a uno secundario. Control del tamaño de dicho Form secundario. ¿Qué hace? Permite con Cargar (F2) copiar y mostrar diferentes imágenes que se hayan copiado al portapapeles e indexarlas en un ComboBox y desde este, presentarlas en un Form2 para visualizarlas en su tamaño real. Mediante el Menú descargar es posible quitar ese conjunto de imágenes del Form1.
El conjunto del MainMenu se compone de Archivo, Cargar (F2), Descargar, "-" y Salir.
Detalles del Form2: Nombre = Form2, WindowsState = Normal, MaximizeBox = False.
Detalles del PictureBox incluido dentro del Form2: Nombre = PictureBox1, Anchor (los cuatro sentidos), SizeMode = AutoSize.