I've looked to your code in order to understand why is not working ok in mono 126.96.36.199 on ubuntu.
The only real recommendation in order to work well on ubuntu is just change every where you have this:
Path.DirectorySeparatorChar + @"BingImages" + Path.DirectorySeparatorChar
Because in linux path use '/' instead of '\' and using Path.DirectorySeparatorChar it will work on linux and windows.
Second recommendation option, if you compile the code in linux with monodevelop the resources.resx have 2 problems:
<data name="icon" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\res\icon.PNG;System.Drawing.Bitmap, System.Drawing, Version=188.8.131.52, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
in linux path use the char '/' and here ..\res\icon.PNG you have the char '\', how to resolve this I don' t know :)
2. in linux paths and files are case sensitive unlike windows, and icon.PNG doesn't exists, what exists is icon.png
I changed this tree things compiled on monodevelop and the application work ok in ubuntu. :)
Check this picture
http://twitpic.com/it1mw for 3 other minor problems that occurred on ubuntu. :)
Continue the good work
Sep 23, 2009 at 12:54 PM
Form alignments could go awry if the implementation of the framework is wrong.
In the code I don't manually move the controls.
The first and third point, I'll fix it up in the next major release.
The second point, I too don't know. I've never compiled a C# app on Linux. I would like to try it one day on my mac though.
Thanks for your feedback... :D