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的呵呵         

上一篇:Java 内部类创建、调用外部方法


下一篇:企业数据中心和互联网数据中心有何不同?