I developed several applications in C # and tried to run Linux a bit through Mono. Getting console applications is pretty simple. In most cases, there is no need to replace the code for these types of applications to work under Mono. However, graphical applications are always more complex. The first thing you should know is that your user interface will not be combined with the user theme. The application will always look like a Windows 98 application if you use Microsoft System.Windows.Forms.
If you plan to write and run the application only on Linux, you can use Mono Gtk # to create a user interface. It integrates with Linux desktops much better than System.Windows.Forms. This page gives a good description of the various GUI tools, their pros and their shortcomings.
If you stick with System.Windows.Forms for a GUI toolkit to run your application on Windows and Linux, keep in mind that although Mono supports C # 4.0, you better not limit yourself to C # 2.0, as some of the features of 3.0 and above are not implemented or not working well on Linux.
Ross peoples
source share