El siguiente tema de nuestro tutorial de GTK# es “Primeros Pasos”. básicamente vamos a explicar como se desarrolla una pequeña ventana que responderá al evento de “cerrarse”, lo cual sucede cuando se hace clic en el botón de cerrar de la barra de titulo de la ventana.
y para esto nuestro código es:
using System; using Gtk; public class FirstSharpApp : Window { public FirstSharpApp() { SetDefaultSize(250, 200); SetPosition(WindowPosition.Center); DeleteEvent += delegate { Application.Quit(); }; Show(); } public static void Main() { Application.Init(); new FirstSharpApp(); Application.Run(); } }
El codigo anterior lo guardamos en un archivo con nombre firstapp.cs, el ejemplo mostrara una pequeña ventana que se orientara al centro de nuestra pantalla.para compilar nuestro primer ejemplo tecleamos en una consola lo siguiente:
gmcs -pkg:gtk-sharp-2.0 firstapp.cs
Ahora explicamos el codigo anterior:
using System; using Gtk;
para acceder a las clases de GtkSharp necesitamos incluir al inicio de nuestro código el nombre de espacios Gtk, esto como les comento permite usar las clases para trabajar con GtkSharp. también existe la posibilidad de no definir el nombre de espacios Gtk y definir directamente en nuestras clases la sentencia Gtk.Window
public class FirstSharpApp : Window {
declaramos una clase llamada FirstSharpApp que hereda de la clase Window, para esto separamos el nombre de nuestra clase seguido de 2 puntos y el nombre de la clase de la cual queremos heredar sus propiedades y comportamiento.
Enseguida declaramos el constructor de nuestra clase:
public FirstSharpApp() { SetDefaultSize(250, 200); SetPosition(WindowPosition.Center); DeleteEvent += delegate { Application.Quit(); }; Show(); }
Recordemos que en POO(Programación Orientada a Objetos), los constructores de nuestra clase llevan el mismo nombre que la clase que los define, en este caso nuestra clase se llama FirstSharApp y el constructor de igual forma se llama igual, por otro lado los constructores no especifican un tipo de dato de retorno, inclusive si no definimos un constructor este se crea automáticamente en memoria.
En nuestro ejemplo de constructor establecemos el tamaño de nuestra ventana a 250×200 y establecemos su posición hacia el centro.también definimos un delegado para cuando suceda el evento de cerrar la ventana y el código que se ejecuta es:
Application.Quit();
Aquí de otra manera podemos definir un nombre de un método que nos interese que maneje la acción, por ejemplo:
this.DeleteEvent += OnCloseWindow;
protected void OnCloseWindow(object o,DeleteEventArgs args)
{
Application.Quit();
}
El método Show( ) permite que se muestre la ventana en nuestro escritorio
Finalmente declaramos nuestro método Main que es el punto de entrada a nuestra aplicación, el cual a través de las llamadas a
Application.Init();
permite inicializar Gtk , enseguida se instancia nuestra clase FirstSharpApp a la vez que se ejecuta el constructor y la aplicación se ejecuta:
new FirstSharpApp(); Application.Run();
Eso es todo por el tema de primeros pasos.

