Mono

De Guía Ubuntu
Saltar a: navegación, buscar

Mono es una implementación libre del lenguaje C# (se lee C-Sharp).

Tree View

Se trata de una clase que nos sirve tanto para presentar listas (tablas) como árboles.

Señales

  • CursorChanged: Se dispara cuando se selecciona una fila.
  • RowActivated: Se dispara cuando se hace doble click en una fila.

Así para leer los valores de una fila en la que se ha hecho un doble click sería:

<csharp> Gtk.TreeView tree;

protected virtual void OnRowActivated(object o, Gtk.RowActivatedArgs args) {

   TreeModel model;
   TreeIter iterSelected;
       
   if (tree.Selection.GetSelected(out model, out iterSelected)) {
       Console.WriteLine("Valor: "+model.GetValue(iterSelected, 1));
   }

} </csharp>

Guardar un objeto interno

Tanto si usamos un TreeStore como un ListStore podemos usar una columna invisible para almacenar un objeto:

<csharp> TreeStore treeStore = new TreeStore(typeof(string) , typeof(MiObjecto)); </csharp>

Miscelánea

Cosas varias.

Escribir en la consola

Es de lo primero que tenemos que saber de un lenguaje:

<csharp> Console.WriteLine("Hola, mundo!"); </csharp>

Cambiar el puntero del ratón

Nuestro programa puede realizar alguna operación que tarde unos instantes, con lo que tendríamos que hacerle saber al usuario que está trabajando y no se ha colgado. Para eso lo suyo es poner es cambiar el puntero del ratón al principio del proceso:

<csharp> this.GdkWindow.Cursor = new Gdk.Cursor(Gdk.CursorType.Watch); this.GdkWindow.Display.Sync(); </csharp>

Y luego volver a dejarlo como estaba:

<csharp> this.GdkWindow.Cursor = null; this.GdkWindow.Display.Sync(); </csharp>