Hello everyone,

I have seen in various places that you can create your programs by
extending the basic Gtk.Window, but you can also just create a new
instance of a window. I am wondering which is the 'more correct' way to
do this. I have included equivalent examples for both ways.

Inheriting from Gtk.Window:

class MyWindow : Gtk.Window
{
        public MyWindow () : base ("Driver")
        {
                this.Title = "This is the title of MyWindow"; 
                this.SetDefaultSize (400, 300);
                this.DeleteEvent += new DeleteEventHandler
(OnMyWindowDelete);

                Label label = new Label("This label is the only thing
here");
                this.Add(label);
                this.ShowAll ();
        }
        
        private void OnMyWindowDelete (object o, DeleteEventArgs args)
        {
                Application.Quit ();
                args.RetVal = true;
        }
        
        [STAThread]
        static void Main(string[] args) 
        {
                Application.Init();
                new MyWindow();
                Application.Run();
        }
}

Creating a new Gtk.Window:

class MyWindow
{
        private static void OnMyWindowDelete (object o, DeleteEventArgs
args)
        {
                Application.Quit ();
                args.RetVal = true;
        }
    
        [STAThread]
        static void Main(string[] args) 
        {
                Application.Init();

                Gtk.Window win = new Window("This is the title of
MyWindow");
                win.Title = "This is the title of MyWindow"; 
                win.SetDefaultSize (400, 300);
                win.DeleteEvent += new DeleteEventHandler
(OnMyWindowDelete);

                Label label = new Label("This label is the only thing
here");
                win.Add(label);
                win.ShowAll ();
                Application.Run();
        }
}

Again, I am wondering which way I should be doing things.

Thanks in advance,

Matthew

_______________________________________________
Gtk-sharp-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/gtk-sharp-list

Reply via email to