All pastes #24210 Raw Edit

Stuff

public text v1 · immutable
#24210 ·published 2005-09-29 17:50 UTC
rendered paste body
using System;
using Gtk;

public class HelloWorldWindow : Window {
  
  // Creamos un nuevo boton con la etiqueta "Hola Mundo". 
  private Button button = new Button("Hola Mundo");

  // Esta es un metodo de retrollamada. Se usara posteriormente para
  // manejar el evento Clicked del boton. En este ejemplo los
  // argumentos son ignorados. Mas adelante se hablara sobre retrollamadas.
  private static void OnButtonClicked(object obj, EventArgs args)
  { 
 	 Console.WriteLine("Hola Mundo");
  }

  // Otro manejador del evento Clicked
  private static void OnButtonClicked2(object obj, EventArgs args)
  {
	 Application.Quit();
  }

  // Manejador de evento para el evento DeleteEvent
  private static void OnDelete(object obj, DeleteEventArgs args)
  {
	 Console.WriteLine("Ha ocurrido un \"delete event\"");
	  
	 // Si se le asigna false a la propiedad RetVal del segundo argumento 
	 // del manejador de evento de DeleteEvent, GTK destruira la ventana. 
	 // Asignarle true significa que no se desea que la ventana sea destruida.
	 // Esto es util para mensajes del tipo "Esta seguro que desea salir?"
	 args.RetVal = true;
  }

  public HelloWorldWindow()   :   base("Hola Mundo")
  {
	 // Anadimos el mtodo WindowDelete al evento DeleteEvent de la ventana.
	 // Cuando la ventana emita un evento DeleteEvent (el cual es dado por 
	 // el administrador de ventanas, generalemente por la opcin "cerrar" 
	 // o por presionar el boton "X" en la barra de ttulo), llamar al 
	 // mtodo WindowDelete definido arriba
	 this.DeleteEvent += new DeleteEventHandler(OnDelete);
	 this.BorderWidth = 10;
 
	 // Cuando se d clic en el boton, se llamar al mtodo OnButtonClicked definido
	 // ms arriba
	 button.Clicked += new EventHandler(OnButtonClicked);

	 // Tambin al hacer clic sobre el boton, se llamar al mtodo OnButtonClicked2
	 // el cual finalizar la aplicacin
	 button.Clicked += new EventHandler(OnButtonClicked2);
 
	 // Esto agrega el botn a la ventana (un contenedor GTK+)
	 this.Add(button);
 
	 // Muestra la ventana y su contenido
	 this.ShowAll();
 }
}

class MainClass {
 public static void Main(){
	 
	 // Se inicializa GTK+
	 Application.Init();

	 // Creamos la ventana HelloWorldWindow
	 new HelloWorldWindow();

	 // Entra en un ciclo en el cual la aplicacin duerme, esperando por eventos.
	 Application.Run();
 }