天天看点

MONO下用GTK编程

在Mono上可以说对System.Windows这一名称空间内的类支持不够好,MONO提倡的是用GTK来代替Windows

当然我有时间也看了下,顺便写了些东西

下面的代码是用GTK生成一个窗体

using System;

using Gtk;

namespace WolfDemo

{

    public class MyMain

    {

        private Gtk.Window window;

        public static void Main (string[] args)

        {

           Application.Init ();

           new MyMain ();

           Application.Run ();

        }

        public MyMain()

       {   window = new Gtk.Window ("Gtk# 编程");

           window.SetDefaultSize (600, 400);

           window.DeleteEvent += new DeleteEventHandler (WindowDelete);

           window.ShowAll ();

       }

        private void WindowDelete (object o, DeleteEventArgs args)

       {

           Application.Quit ();

           args.RetVal = true;

    }

}

在编译的时候,要引用GTK-SHARP.DLL才可以 如:

D:/>mcs MyMain.cs /r:D:/Mono-1.1.13/lib/mono/gtk-sharp/gtk-sharp.dll

然后用 Mono MyMain.exe 就可以看到效果了

其实gtk名称空间下面 还有其他的类 比如button什么的 当然用ildasm来看是个不错的选者 ,不过要专业一点的话

可以用反射来看

代码如下

          Type t=typeof(Window);

            MemberInfo [] myMemberInfo=t.GetMethods ();

            foreach (MemberInfo m in myMemberInfo)

            {

                Console.WriteLine(m.Name  );

            }

当我运行完一看,全是Get Set 之类的 看来开发GTK这群家伙很可能都是些搞java的呵呵