winforms 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. * System.Windows.Forms
  2. Currently Windows.Forms support is not finished.
  3. The System.Windows.Forms effort is taking two paths:
  4. <ul>
  5. <li>Win32/Wine-based: This effort will use the Win32
  6. API, and use a stub program to run the with Wine.
  7. This allows applications that use P/Invoke to
  8. function, and event delivery through the Wndproc
  9. method to work for the most advanced and custom
  10. applications. This is the path of best compatibility.
  11. Also, work on a Gtk-based rendered for Wine will be
  12. done, to make the user interface integrate with your
  13. desktop look.
  14. <li>Gtk# based: This effort will build a subset of
  15. Windows.Forms that uses Gtk#. This gives a better
  16. integration with the desktop, but will not be
  17. completely compatible with the Windows edition. In
  18. particular code that uses P/Invoke to call into Win32
  19. or overwrite the Wndproc method to achieve special
  20. effects will not work.
  21. </ul>
  22. * Win32/Wine edition.
  23. To get the Windows.Forms support working, you need a Mono
  24. installation from CVS, and you need to install Wine plus the
  25. <a href="http://www.openlinksw.com">OpenLink patch</a>, and
  26. define the environment variable "SWF" (export SWF=1 from your
  27. shell). For more information, see the <a
  28. href="http://www.nullenvoid.com/mono/wiki/index.php/MonoWinePackages">Mono
  29. Wine Packages</a> page in the Mono Wiki.
  30. <table>
  31. <tr>
  32. <td>
  33. System.Windows.Forms is currently being implemented using the
  34. Win32 API, we will be using <a
  35. href="http://www.winehq.com">WineLib</a> on Unix systems to
  36. emulate the Win32 API.
  37. This means that those who want to contribute to the effort can
  38. develop and test classes today using Windows and P/Invoke
  39. calls to Win32 and we will then just run the result on Unix.
  40. In terms of integrating visually with the desktop, we are
  41. hoping to contribute to the Wine project a mechanism to make
  42. it use the Gtk+ themes on X11 and Cocoa on MacOS to render the
  43. widgets, and get the native look and feel on each of these
  44. platforms.
  45. </td>
  46. <td>
  47. <a href="images/WINESWF.JPG"><img src="images/WINESWF-mini.JPG"></a>
  48. </td>
  49. </table>
  50. * Gtk# based
  51. The code is contained in CVS.
  52. There are no current plans to support embedded devices, but
  53. Gtk/FrameBuffer is an option. If you have suggestions or
  54. recommendations, please let us <a
  55. href="mailto:[email protected]">let us know</a>
  56. * Contributing
  57. The Winforms effort is being coordinated in the <a
  58. href="mailto:[email protected]:.com">[email protected]</a>.
  59. If you are interested in helping out with this effort,
  60. subscribe to it by sending an email message to <a
  61. href="mailto:[email protected]:.com">[email protected]</a>.
  62. If you want to help, you can start by writing a control and
  63. testing it with Windows today (or you can also try to build
  64. the existing library on Linux, but this is a bit more
  65. complicated).
  66. See the file mcs/class/System.Windows.Forms/CheckOutList for
  67. details on who is working on which class.
  68. Please read the README document in the
  69. System.Windows.Forms/WINElib directory for details about how
  70. to build the Windows.Forms support for Mono.
  71. * System.Drawing
  72. For details, see the <a
  73. href="drawing.html">System.Drawing implementation notes</a>
  74. section of the web site.