[Mono-winforms-list] Porting Visual Studio Created WinForms Applications C#

stifu at free.fr stifu at free.fr
Wed Jul 29 07:50:26 UTC 2015


"I'm hoping that future mono updates wil solve these graphical issues automagically, so the software works and looks as stunning as it does on a windows system :-)"

For your information, the WinForms project is only maintained by the community, so such a project would have to come from us. Xamarin won't do it.

"If not, I guess, HTML5 instead of WinForm will be a nice GUI replacement :-)"

There's also XWT (but still no designer): https://github.com/mono/xwt

----- Mail original -----
De: "Marcel Burger" <m.burger.work at gmail.com>
À: "Stifu" <stifu at free.fr>
Cc: mono-winforms-list at lists.ximian.com
Envoyé: Mercredi 29 Juillet 2015 09:37:27
Objet: Re: [Mono-winforms-list] Porting Visual Studio Created WinForms Applications C#

Hello Peter, 

Currently I'm also building a multi platform desktop application. 
I develop with VS, import it in a virtual Linux Mint via Git and build it with Monodevelop. 

I use Monodevelop and Google to fix the list of build failures Monodevelop comes up with. 
Besides that I try to use as little Dependencies as I can and only use Libraries which are crossplatform. 

So, 1 codebase -> several deployments. 

Personally I don't mind the Designer files VS creates, since these files only initiate and set the properties of the controls you create when you use the visual designer is VS. 

The .resx files (also) contain the images you use in your application (b.t.w. I've noticed that it's better to avoid using Icon files but instead use png files and convert them to ico via code). 

Monodevelop doesn't have a WinForm designer so you will be creating (some sort of) Designer files yourself anyway to initiatie and set the controls you need. 

I have noticed that some Control properties set in VS don't act like they should in Monodevelop, many of which have been submitted as bugs. 
In many cases initiating those Controls and setting the properties yourself (via code instead of using the Visual Designer) solve the problems (but not all of them, some properties simply don't work so I choose to ommit them instead of creating hacks around them ...). 

So you can also stick to develop a winform app without a Visual Designer ;) 

Keep in mind that you will have some issues regarding: 
- visual refreshing on Unix systems (controls simply won't refresh themselve like they do on Windows, so sometimes you don't see the controls at all, which looks pretty awful. I see it in more applications on Unix systems ...) 
- The controls used via Monodevelop are based on winXP which make them look a buit outdated 
- Some controls used via Monodevelop have different base (not mutable) properties then WIndows, which leads to different spacing requirements ... (e.g. ComboBox). 

Since I only have the requirement that the software should work on Unix and that the graphical issues are not that important, I stick with my current development strategy. 

I think it's very cool that I only have to write the code once and deploy it on different OSses, but the graphical experience is a bit dissapointing. 

I'm hoping that future mono updates wil solve these graphical issues automagically, so the software works and looks as stunning as it does on a windows system :-) 

I don't mind helping out in that area ;) 

If not, I guess, HTML5 instead of WinForm will be a nice GUI replacement :-) 


Marcel Burger 

On Tue, Jul 28, 2015 at 5:23 PM, Stifu < stifu at free.fr > wrote: 


MonoDevelop and Xamarin Studio don't have a WinForms designer, so you'd 
better stick with Visual Studio. I admit I'm not really up to date on this, 
but there must be VS plugins to run your app with Mono from the IDE. I've 
found the MonoDebugger project ( http://www.monodebugger.net/ ), but it seems 
it's still not available. Maybe Xamarin for Visual Studio does what you want 
( http://xamarin.com/visual-studio ), but I'm not sure, since it's actually 
specialized in mobile development. 

Note you could also just build your app with VS then manually test it on 
Mono on all the targeted platforms. It's not ideal, but it's what I do 
(except I use SharpDevelop). 

jonesypeter wrote 
> Hello, 
> I wonder if I could ask a very simplistic question. I have searched for 
> an answer before posting. 
> I have created a very simple WinForms applications and created the .exe 
> and checked that this runs with Mono as well and it all went fine. 
> If I want to build this application directly with Mono how do I do this, 
> because Visual Studio creates a large list of files including 
> Form1.Designer.cs, Form1.resz. and Program.cs 
> Thanks 
> Peter Jones 

View this message in context: http://mono.1490590.n4.nabble.com/Porting-Visual-Studio-Created-WinForms-Applications-C-tp4666376p4666385.html 
Sent from the Mono - WinForms mailing list archive at Nabble.com. 
Mono-winforms-list maillist - Mono-winforms-list at lists.ximian.com 

More information about the Mono-winforms-list mailing list