* System.Windows.Forms

	Currently Windows.Forms support is not finished.

	The System.Windows.Forms effort is taking two paths: 

	<ul>
		<li>Win32/Wine-based: This effort will use the Win32
		API, and use a stub program to run the with Wine.
		This allows applications that use P/Invoke to
		function, and event delivery through the Wndproc
		method to work for the most advanced and custom
		applications.  This is the path of best compatibility.

		Also, work on a Gtk-based rendered for Wine will be
		done, to make the user interface integrate with your
		desktop look.

		<li>Gtk# based: This effort will build a subset of
		Windows.Forms that uses Gtk#.  This gives a better
		integration with the desktop, but will not be
		completely compatible with the Windows edition.  In
		particular code that uses P/Invoke to call into Win32
		or overwrite the Wndproc method to achieve special
		effects will not work.
	</ul>

* Win32/Wine edition.

	To get the Windows.Forms support working, you need a Mono
	installation from CVS, and you need to install Wine plus the
	<a href="http://www.openlinksw.com">OpenLink patch</a>, and
	define the environment variable "SWF" (export SWF=1 from your
	shell). For more information, see the <a
	href="http://www.nullenvoid.com/mono/wiki/index.php/MonoWinePackages">Mono
	Wine Packages</a> page in the Mono Wiki.

	<table>
	<tr>
	<td>
	System.Windows.Forms is currently being implemented using the
	Win32 API, we will be using <a
	href="http://www.winehq.com">WineLib</a> on Unix systems to
	emulate the Win32 API.

	This means that those who want to contribute to the effort can
	develop and test classes today using Windows and P/Invoke
	calls to Win32 and we will then just run the result on Unix. 

	In terms of integrating visually with the desktop, we are
	hoping to contribute to the Wine project a mechanism to make
	it use the Gtk+ themes on X11 and Cocoa on MacOS to render the
	widgets, and get the native look and feel on each of these
	platforms. 
	</td>
	<td>
	<a href="images/WINESWF.JPG"><img src="images/WINESWF-mini.JPG"></a>
	</td>
	
	</table>

* Gtk# based

	The code is contained in CVS.  

	There are no current plans to support embedded devices, but
	Gtk/FrameBuffer is an option.  If you have suggestions or
	recommendations, please let us <a
	href="mailto:mono-hackers-list@ximian.com">let us know</a>

* Contributing

	The Winforms effort is being coordinated in the <a
	href="mailto:mono-winforms-list@ximian.com:.com">mono-winforms-list@ximian.com</a>.
	If you are interested in helping out with this effort,
	subscribe to it by sending an email message to <a
	href="mailto:mono-winforms-list-request@ximian.com:.com">mono-winforms-list-request@ximian.com</a>.

	If you want to help, you can start by writing a control and
	testing it with Windows today (or you can also try to build
	the existing library on Linux, but this is a bit more
	complicated).  

	See the file mcs/class/System.Windows.Forms/CheckOutList for
	details on who is working on which class.

	Please read the README document in the
	System.Windows.Forms/WINElib directory for details about how
	to build the Windows.Forms support for Mono.

* System.Drawing

	For details, see the <a
	href="drawing.html">System.Drawing implementation notes</a>
	section of the web site.

