UNIDAD I PROGRAMACION VISUAL ELEMENTOS BASICOS

14.- VENTANAS EN C#BUILDER

El siguiente problema común, con el manejo de programas en C#Builder, es el de poder crear, controlar y administrar mas de dos formas o ventanas a la vez.

En este tema se crea una segunda ventana en tiempo real.

Solo recordar lo mas importante TODOS LOS COMPONENTES LABEL'S TEXTBOX'S BUTTON'S que se coloquen dentro de una forma o ventana deberan de asignarles su propiedad (NAME), es decir c#builder por default si se pone un label en la primera ventana (WinForm) builder le asigna el nombre de label1, si tambien se coloca otra label en la segunda ventana (WinForm1) builder tambien le asignara el nombre de label1 y cuando se este ejecutando el programa y se codifique una referencia a label1 c#builder tendra problemas para conocer de cual label se esta tratando.

Aun mas cuando construye la segunda ventana en tiempo de ejecución y si la segunda ventana tiene componentes con el nombre de componentes de la primera ventana, c#builder no los desplegara, en otras palabras cuando desplieguen la segunda ventana y observen que le faltan controles, es porque no cambiarón los NAME de los componentes.

a) Crear un projecto normal con su winform normal.

b) Ahora se creara una segunda winform o ventana, para esto solo usar la opcion FILE→NEW→WINDOWSFORM

Esta opción solo se muestra cuando ya se creo un proyecto, observar tambien que en el ADMINISTRADOR DE PROYECTOS aparecen registradas las dos ventanas WINFORM.CS y WINFORM1.CS, recordar hacer un save all para grabar la segunda ventana.

c) Solo click en winform1.cs en el administrador de proyectos para tener en la pantalla de diseño la segunda ventana, cargarle con sus propios label's, textbox's y buttons, es decir contruirle su programa, recordar tambien asignarles sus propios NAME'S.

Recordar poner la propiedad visible=false; de winform1

d) El codigo del BUTTON1 de la primera ventana WinForm es:

private void button1_Click(object sender, System.EventArgs e)
{
WinForm1 ventana1 = new WinForm1();
ventana1.Visible = true;
this.Visible=false;
}

Primero se crea un objeto llamado ventana1 derivado de la clase WinForm1, como se recordara de el tema de OBJETOS, el formato CLASE OBJETO = NEW CONSTRUCTOR(), se usa para precisamente crear objetos.

Despues este objeto ventana1 se pone en VISIBLE=TRUE; para desplegarla en pantalla.

Estamos viendo ahora un nuevo operador de C#BUILDER, el operador THIS, este operador es una referencia o enlace directo al objeto activo, el evento button1_Clic() esta contenido dentro de la primera ventana o ventana principal WINFORM, por tanto el objeto activo es WINFORM, this.Visible=false; significa que se esta pidiendo que la ventana principal se ponga en invisible, se pudo poner WINFORM.VISIBLE=false; pero C#BUILDER prefiere trabajar mejor con referencias o enlaces a objetos, por eso es mejor usar THIS.VISIBLE=FALSE;

El Codigo del boton OK de la segunda ventana WinForm1, es:

private void OK1_Click(object sender, System.EventArgs e)
{
WinForm ven = new WinForm();
ven.Visible = true;
this.Close();

Muy similar al de la ventana principal, es decir se crea un objeto de tipo ventana principal WINFORM, se pone en visible=true y se cierra el objeto activo es decir la ventana1.

Corrida:

image143.jpg

image144.jpg

TAREAS PROGRAMACION C#BUILDER :

1.- CONSTRUIR UNA VENTANA CON DOS BOTONES QUE ACTIVAN SU PROPIA VENTANA, CADA UNA DE ESTAS NUEVAS VENTANAS DEBERAN RESOLVER UN PROBLEMA CUALQUIERA DE LOS DEL MODELO DE SOLUCION.

Politica de Privacidad