Diferencia entre revisiones de «Mono»
(→Poner un Label en negrita) |
|||
| (No se muestran 13 ediciones intermedias realizadas por 2 usuarios) | |||
| Línea 1: | Línea 1: | ||
Mono es una implementación libre del lenguaje C# (se lee C-Sharp). | 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. Tienes un tutorial en [http://www.mono-project.com/GtkSharp_TreeView_Tutorial GtkSharp TreeView Tutorial]. | ||
| + | |||
| + | == 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 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> | ||
| + | |||
| + | == Poner un Label en negrita == | ||
| + | Puedes activar la propiedad ''Markup'' y usar los [http://developer.gnome.org/doc/API/2.0/pango/PangoMarkupFormat.html Markups de Pango]. Para más info ver: | ||
| + | |||
| + | <csharp> | ||
| + | Label lbl = new Label(); | ||
| + | lbl.Markup = true; | ||
| + | lbl.Text = "<b>Esto esta en negrita</b>"; | ||
| + | </csharp> | ||
| + | |||
| + | = Enlaces externos = | ||
| + | * [http://www.mono-project.com/ Mono Project] | ||
| + | * [http://www.mono-project.com/GtkSharp GtkSharp] | ||
| + | * [http://www.monohispano.es MonoHispano] | ||
| + | * [http://en.csharp-online.net/ C# Online.NET] | ||
| + | * [http://www.appomattox-project.org/Tutorial_-_Introduction_to_the_Gui_Components Tutorial - Introduction to the Gui Components] | ||
[[Categoría: Lenguajes]] | [[Categoría: Lenguajes]] | ||
Última revisión de 20:37 21 jun 2007
Mono es una implementación libre del lenguaje C# (se lee C-Sharp).
Contenido
[ocultar]Tree View
Se trata de una clase que nos sirve tanto para presentar listas (tablas) como árboles. Tienes un tutorial en GtkSharp TreeView Tutorial.
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 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>
Poner un Label en negrita
Puedes activar la propiedad Markup y usar los Markups de Pango. Para más info ver:
<csharp> Label lbl = new Label(); lbl.Markup = true; lbl.Text = "Esto esta en negrita"; </csharp>