martes, 15 de noviembre de 2016

1.2.1 Button - GTK#

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:

//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

Lo último

recentposts

Random

randomposts