Why WX.Net? 
    Release Notes
    Building From Source
    User Manual
    Reference Doc.
    WX.Build Doc.


Who's Who

Get WX.Net at SourceForge.net. Fast, secure and Free Open Source software downloads

Built with wxWidgets

Works on Mono


Release Notes for wx.NET v0.6

16 December 2004

Major Global Changes

  • Lots and lots of bug fixes!
  • wxWidgets 2.5.3 is now used as a base and is required to compile wx.NET.
  • Almost all missing members and constructors were added to the available wx.NET classes.
  • Added support for automatic ID generation for Window derived controls/classes. Just call the ctor without id and a "unique" id will be generated starting from value 10001. To get the id of a Window/Control just call mywin.ID.
  • Numerous missing event classes were added and existing ones better integrated.

New Classes

  • MaximizeEvent, IconizedEvent, InitDialogEvent, ChildFocusEvent, EraseEvent, FocusEvent, NcPaintEvent, PaintEvent, SetCursorEvent, ShowEvent, DisplayChangedEvent, MouseCaptureChangedEvent, NavigationKeyEvent, PaletteChangedEvent, QueryNewPaletteEvent, SysColourChangedEvent, ContextMenuEvent, HelpEvent,
    IdleEvent, WindowCreateEvent, WindowDestroyEvent
  • AcceleratorEntry, AcceleratorTable
  • BitmapList
  • StockCursors
  • HtmlHelpController
  • ImageHandler, ImageHistogramEntry, ImageHistogram, BMPHandler, ICOHandler, CURHandler, ANIHandler, PNGHandler, GIFHandler, PCXHandler, JPEGHandler, PNMHandler,
    XPMHandler, TIFFHandler
  • VisualAttributes
  • Locale, LanguageInfo
    Supports internationalization (I18N) of your wx.NET app. Translation of a string (if there is a translated version in a po/mo file) is posible with: _("string to translate") or GetTranslation("string to translate"). For example:
       fileMenu.AppendWL( (int)Cmd.About, _("&About..."), new EventListener(OnAbout) );
    See the new Internat sample.

New Samples

  • ListView
  • HtmlHelpController
  • Internat
  • ListCtrlMajor

Sample Updates

  • The Style, Tree, and Item menus were implemented in the TreeCtrl sample.

Memory Related Fixes and Updates

  • Added IDisposable interface to Object.
  • All classes not derived from wxObject now implement their own memory handling. Examples include wxString and TreeItemId. Such classes have their own Dispose member which deletes the correct C/C++ instance (the old version did nothing as it could only delete wxObject instances). But: the delete wrapper (_dtor) gets only called if it is handling its own memory. For example: if we return a new wxString from a wrapper file with:
       return new wxString(self->GetLabel());
    then in the corresponding C# file we call wxString with:
       return new wxString(wxTreeEvent_GetLabel(wxObject), true);
    The boolean value "true" sets the internal bool memOwn of wxString to true so that wxString.Dispose knows "hey I have to call the wrapper delete function (_dtor)".


  • You can get now a list of all children of a window with:
    ArrayList al = mywin.Children;
    foreach(Window w in al) ...
  • The tree in a TreeCtrl and the list in a ListCtrl can now be sorted (just write your own compare functions).
  • Boolean values are not returned as 1 or 0 in all cxx wrapper files.
  • Source and binary package creation was automated. This lives under the new "Dist" sub-directory.

A SWIG Future

In parallel to the above changes to the existing wx.NET codebase, Alexander Olk has been creating tools to automate the creation of wx.NET's C++ and C# wrappers using SWIG (Simplified Wrapper and Interface Generator). SWIG is what is used to create wxPython.

The code generator lives under Utils/WNG. It is already possible to build libwx-c and wx.NET.dll. All you need is the latest swig version (1.3.24), no patches are necessary and no changes have to be made to Mikes build system. At some point in the first part of 2005 we will switch from developing/maintaining the wx.NET wrapper by hand to "SWIGing" it!

8 January 2005

  • Bugfix for wxString handling on Windows: Windows doesn't get build in unicode mode so it isn't a good idea to return a int type for GetChar instead of a char type
  • Added AddPendingEvent in EvtHandler


  • Alexander Olk is responsible for 99% of this release. Please consider donating to the wx.NET fundraising campaign if you are a commercial entity using or evaluating wx.NET or an individual with a few coins to spare. Donations will help support Alexander's fine work.
  • Bryan Bulten worked on wxWidgets 2.5.3 porting and wxString memory issues.
  • Mike Muegel worked on wxWIdgets 2.5.3 build system changes, automated the package creation process, and created the release files.