SWF Widgets is a tool written to help porting existing
Windows Forms applications to wxWidgets toolkit.
wxWidgets is a cross-platform toolkit that has been optimized over time to make writing dialogs by hand as easy as possible, but this approach has limitations as soon as dialogs reach a certain complexity. Even without the inevitable number of typos, writing nice looking dialogs is a hassle and reordering the items in a dialog often amounts to rewriting the dialog from scratch. In addition to being quite some work, writing dialogs also requires a profound and exact knowledge of the syntax used for creating and positioning dialog items.
Windows Forms is a framework for building Windows client applications that utilize the common language runtime. Windows Forms applications can be written in any language that the common language runtime supports. Some of the advantages of using Windows Forms include the following:
SWF Widgets combines the best of these two toolkits
allowing anyone familiar with Windows Forms to create
aesthetically pleasant and cross-platform dialogs in a
matter of minutes using either Visual Studio .NET or Sharp
The next step when writing GUI programs and dialogs in particular is to add event handlers. This can only be done in the form of source code, and therefore SWF Widgets supports generating source code for event handlers or getter functions to get access to the controls in the dialog by either converting existing code or generating events for existing controls.
Here are 2 comments made on Slashdot that i believe answer this question:
"Why GTK#? Honestly, GTK is probably one of the worst
toolkit for real cross platform development.
The Windows port of GTK sucks. This WiMP thing (Or whatever it's called - it makes GTK app to some degree look like native Windows apps) is not that great. The performance of the GTK(WIMP) apps' GUI is noticeable lower than a native GUI.
Under Mac OS X it's even worse. GTK only works under X11. This means no Aqua look & feel. No copy and paste or drag'n'drop between native OSX apps and GTK apps. Even keyboard shortcuts are different.
Why didn't you chose something like wxWidgets? At least wxWidgets offers native GUIs under any platforms it runs. wxWidgets or any other toolkit that offers real platform independence.
Or: With all these XML GUIs under .NET (like XAML) Ximian could've used Mozilla's XUL toolkit and have better multi platform integration than GTK.
Also - from what I've read on the mailing list archives - Mono only works sometimes on BSD systems.
What kind of independence is this? You are only focused on x86-Linux running GNOME.
Ximian does not seem really interested in real platform CocoaSharp. Stuff like Qt# (for KDE users), CocoaSharp, and other cross platform development is not done by any Ximian guy, but from contributors."
"I'm developing a C# application which has a
System.Windows.Forms (SWF) front-end for the Windows
version, and a GTK# front-end for the Linux version. I was
hoping to get rid of the SWF front-end and deploy my
application on Windows and Linux using the GTK# front-end.
Despite all of the hype surrounding Mono/GTK# (thanks
miguel) i have not been able to get this working because
GTK# simply doesn't work correctly with MS.NET. There are
parts of GTK# that actually rely on an incompatibility
between Mono and MS.NET to work correctly. So when this
code is executed with MS.NET, you'll get runtime
exceptions. The same code will function correctly on
Windows when you use Mono on Windows, but then i get memory
leaks every time i use Regex.Match which my application
needs quite often. So after leaking about 395MB of RAM, the
garbage collector will crash with an error ("too many heap
sections"). The same code runs perfectly on Linux in
I would really like to see Mono and GTK# completely ready to be used on Windows for _serious_ stuff (as in: not the average Hello World GTK# app) but right now, it just isn't up to the task yet. On Linux, it's pretty good already, but on Windows it's just unusable for my application. I've had to go back to using my old SWF front-end for my windows users."
SWF Widgets is powered by wx.NET.