Tutorial GTK# – Primeros pasos

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.

5 thoughts on “Tutorial GTK# – Primeros pasos

  1. Saludos =D

    Oye gran tutorial que armas!!

    Tengo una pregunta, la verdad es que se me hace aburrido y complicado trabajar directamente en texto-Terminal..

    Asi he trabajado con C++, y bueno.. eso de guarda documento, compila y ejecuta manualmente llega a fastidiar..

    Mi pregunta es, no hay un IDE para este lenguaje?..

    • hola , en ¿que sistema operativo desarrollas? si es en windows existen IDES como SharpDevelop, en Linux existen muchos como MonoDevelop que también funciona para MacOS X

  2. Hay programas para desarrollar las interfaces gráficas, estos como los hacemos funcionar con nuestros códigos? ya que según entiendo programas la parte gráfica y después la parte lógica, Glade y el lenguaje que usarás… o debemos programar todo desde texto plano para luego usarla?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s