Explicar el funcionamiento de un botón normal no tiene caso, todos sabemos su funcionamiento, así que pasemos a los constructores básicos, dotados de una capacidad de personalización básica muy útiles:
El primer constructor crea un botón por defecto sin ninguna etiqueta, el segundo constructor nos permite incluir un string que si es un texto cualquiera, definirá el texto de la etiqueta del botón, a la cual podremos acceder mediante el propiedad Label que nos permite obtener y establecer dicho texto, o también podremos utilizar en lugar de un string una propiedad Stock podremos elegir un ícono del stock y un texto. El último constructor nos da la mayor posibilidad de personalización permitiéndonos usar los botones como contenedores, y así es pues los botones derivan de esto, pudiendo utilizar este recurso para darle nuestro toque, la mejor manera es la mostrada en el ejemplo.
//Constructores de los botones biestado
boton_normal1 = new Button ();
boton_normal2 = new Button (string);
boton_normal3 = new Button (Widget);
El primer constructor crea un botón por defecto sin ninguna etiqueta, el segundo constructor nos permite incluir un string que si es un texto cualquiera, definirá el texto de la etiqueta del botón, a la cual podremos acceder mediante el propiedad Label que nos permite obtener y establecer dicho texto, o también podremos utilizar en lugar de un string una propiedad Stock podremos elegir un ícono del stock y un texto. El último constructor nos da la mayor posibilidad de personalización permitiéndonos usar los botones como contenedores, y así es pues los botones derivan de esto, pudiendo utilizar este recurso para darle nuestro toque, la mejor manera es la mostrada en el ejemplo.
Ejemplo
En el ejemplo se muestra la programación de un botón sencillo con una imagen y un texto personalizados. Dando como resultado lo siguiente (lo mostrado en la enterior imagen):
public class VentanaPrincipal : Window
{
HBox conGen;
Button botonNormal;
HBox box;
Label labelButton;
Image imageButton;
public VentanaPrincipal () : base ("Button - GTK#")
{
//Se cambia el tamaño de la ventana
SetSizeRequest (300, 300);
//Se establece el padding de la ventana en 60px
BorderWidth = 60;
//Se centra la ventana
WindowPosition = WindowPosition.CenterAlways;
//Se añade el evente de cierre a la ventana
DeleteEvent += delegate {
Application.Quit ();
};
//Se crea la 'caja' del botón
box = new HBox(true, 0);
box.BorderWidth = 2;
//Se crea la imagen del botón y se asigna
imageButton = new Image();
imageButton.File = "imagen.png";
//Se crea el label del botón
labelButton = new Label("Texto");
// Empaquetamos la imagen y la etiqueta en la caja
box.PackStart(imageButton, false, false, 3);
box.PackStart(labelButton, false, false, 3);
//Creamos el botón, pasándole el contenedor
botonNormal = new Button (box);
//Creamos un contenedor general y añadimos nuestro botón
conGen = new HBox (false, 0);
conGen.PackStart (botonNormal);
//Añadimos el contenedor general a la ventana
Add (conGen);
//Mostramos todo
ShowAll ();
}
}
No hay comentarios:
Publicar un comentario