* System.Windows.Forms
- Currently Windows.Forms support is not finished.
-
- The System.Windows.Forms effort is taking two paths:
+ <p>Currently Windows.Forms support is under development. Check Mono's <a
+ href = "http://www.go-mono.com/mono-roadmap.html">Roadmap</a> for more
+ details on when it is going to be available.
+
+ <p>System.Windows.Forms in Mono is implemented using System.Drawing and
+ Wine. This allows applications that use P/Invoke to call Win32 functions
+ or rely on event delivery through the Wndproc method to work as
+ expected. This is the path of best compatibility.
+
+ <p>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.
+
+* Installation
+ <p>To get the Windows.Forms support working, you need:
+
<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>
+ <li> The latest <a href = "http://www.go-mono.com/download.html">Mono</a> package.
+ <li> The latest <a href = "http://www.go-mono.com/download.html">libgdiplus</a> library.
+ <li> The latest <a href = "http://www.cairographics.org/download">Cairo</a> vector graphics library.
+ <li> A recent copy of <a href="http://www.winehq.com/">Wine</a>.
+ <li> A recent copy of WineLib (do a cvs co winelib from Mono's CVS).
+
+ </ul>
* Contributing
- The Winforms effort is being coordinated in the <a
- href="mailto:mono-winforms-list@ximian.com:.com">mono-winforms-list@ximian.com</a>.
+ <p>The Winforms effort is being coordinated in the <a
+ href="mailto:mono-winforms-list@ximian.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.
+ href="mailto:mono-winforms-list-request@ximian.com">mono-winforms-list-request@ximian.com</a>.
+
+ <p>If you want to help, you can pick a control and start implementing it's
+ methods. You can do this either on Windows or on Linux. Try using
+ System.Drawing calls instead of P/Invoked Win32 calls.
+
+ <p>If you choose a particular control to work on, send a note to the
+ winforms list to avoid duplication of effort.
+
* System.Drawing
- For details, see the <a
+ <p>For details, see the <a
href="drawing.html">System.Drawing implementation notes</a>
section of the web site.