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