Mono, ProgramaciónDecember 23, 2005 11:13 am
Despues de varios dias de estar consultando e intentando integrar Gtk.ComboBox de un diseño hecho en Glade y Mono al fin pude hacer que funcione. Aqui pongo el código de un ejemplo sencillo para que sirva como referencia.
using System;
using Glade;
using Gtk;
public class combo
{
- [Widget] Gtk.Window wcombo;
- [Widget] Gtk.ComboBox cmbpaises;
- [Widget] Gtk.Button btncargar;
- public combo()
- {
- Application.Init();
Glade.XML gxml = new Glade.XML(null,”combo.glade”,”wcombo”,null);
gxml.Autoconnect (this);
wcombo.DeleteEvent += new DeleteEventHandler(Cerrar);
btncargar.Clicked += new EventHandler(Cargar);
cmbpaises.Changed += new EventHandler(Seleccionar);
Application.Run(); - }
- public void Cargar(object o, EventArgs args)
- {
- ListStore store = new ListStore(typeof(string));
- CellRendererText text = new CellRendererText();
- cmbpaises.PackStart(text, false);
- cmbpaises.AddAttribute(text, “text”, 0);
- cmbpaises.Model =store;
- string[] paises = {”Perú”,”Colombia”,”Ecuador”,”etc..”};
for (int i=0;i< "paises.Length;i++)
{
string pais = paises[i].ToString();
store.AppendValues(pais);
}
- }
- public void Seleccionar(object o, EventArgs args)
- {
- TreeIter iter;
if (cmbpaises.GetActiveIter (out iter))
{
Console.WriteLine ((string) cmbpaises.Model.GetValue (iter, 0));
} - }
- public void Cerrar(object o, DeleteEventArgs args)
- {
- Application.Quit();
- }
static void Main(string[] args)
{ - new combo();
- }
}


Muchas gracias por poner tu solución… ya iba a pegarme un tiro!
A ver si estos de glade en futuras versiones dotan al autoconnect para dejar estos componentes listos para usar.
Muchas gracias!
Comment by Depredator — February 2, 2007 @ 4:37 pm
Muchas gracias por poner tu solución… ya iba a pegarme un tiro!
A ver si estos de glade en futuras versiones dotan al autoconnect para dejar estos componentes listos para usar.
Muchas gracias!
Comment by Depredator — February 2, 2007 @ 4:37 pm