3 <p>Currently Windows.Forms support is under heavy development. Check Mono's <a
4 href = "http://www.go-mono.com/mono-roadmap.html">Roadmap</a> for more
5 details on when it is going to be available.
7 <p>System.Windows.Forms in Mono is implemented using System.Drawing. All controls
8 are natively drawn through System.Drawing. System.Windows.Forms implements it's own
9 driver interface to communicate with the host OS windowing system. Currently,
10 we have a driver for Win32 and a driver for X11.
11 The drivers translate the native window messages into WndProc compatible messages,
12 to provide as much compatibility with native .Net as possible.
14 <p>In terms of integrating visually with the desktop, we have a (still incomplete)
15 themeing interface, currently with a classic Win32 theme and a Gtk theme.
17 <p>The current implementation is still very incomplete, with several large controls
18 (Edit, ListBox, ComboBox, Menus), etc, still being developed. It is too early to
19 file bugs if you cannot compile or run a certain application because of controls
26 <li>Debugging with Wine was extremely hard, and Wine was a moving target,
27 some of the calls we relied on changed from release to release.
28 <li>Wine/GDI+ interactions were not efficient.
29 <li>Too many cooks contributed to the core, so it was hard to maintain.
30 <li>To many dependencies on install, many people where having problems getting
31 the very strict winelib requirements right.
35 The driver interface should allow us to also create a Wine based driver for
36 System.Windows.Forms, to support applications performing Win32 P/Invokes, but
37 for now this is not a priority.
42 <p>To get the Windows.Forms support working, you need:
46 <li> The latest <a href = "http://www.go-mono.com/download.html">Mono</a> package.
47 <li> The latest <a href = "http://www.go-mono.com/download.html">libgdiplus</a> library.
48 <li> The latest <a href = "http://www.cairographics.org/download">Cairo</a> vector graphics library.
52 The current source of System.Windows.Forms resides in mcs/class/Managed.Windows.Forms.
53 The previous version of System.Windows.Forms, based on Wine, still can be found in
54 mcs/class/System.Windows.Forms, but it is no longer being worked on.
56 <p>To use the latest version, go into Managed.Windows.Forms and issue a 'make clean',
57 followed by a 'make install'. Afterwards, the new implementation should be available
58 in the GAC for your use.
62 <p>The Winforms effort is being coordinated in the <a
63 href="mailto:mono-winforms-list@ximian.com">mono-winforms-list@ximian.com</a>.
64 If you are interested in helping out with this effort,
65 subscribe to it by sending an email message to <a
66 href="mailto:mono-winforms-list-request@ximian.com">mono-winforms-list-request@ximian.com</a>.
68 <p>If you want to help, you can pick a control and start implementing it's
69 methods. You can do this either on Windows or on Linux. All controls must be drawn
70 using System.Drawing calls, tied into the themeing interface, and not stubbed.
72 <p>If you choose a particular control to work on, send a note to the
73 winforms list to avoid duplication of effort.
78 <p>For details, see the <a
79 href="drawing.html">System.Drawing implementation notes</a>
80 section of the web site.