Re: Mono, Windows Forms, and Headless operation

"George, Glover E ERDC-RDE-ITL-MS" <[email protected]>
Newsgroups gmane.comp.gnome.mono.general
Message-ID <D2B53BCE.1877%[email protected]>
Again, I agree with the separation of business logic from the GUI.  In
fact, on mono, I never want to see the GUI.  It¹s due to the fact that my
parallelism relies on multiple concurrent BackgroundWorkers.  I¹m
restricted to .net 2.0 , nothing later.  So I don¹t have the TPL
available.  I have BackgroundWorkers, Threads, and Threadpool.  As I
understand it, Threadpools don¹t have a way to know when they are finished
(at least, not directly).  Perhaps I misunderstand.  BackgroundWorkers are
simple, and are performing their function perfectly on Mono, so long as X
is there.  The only option left is directly using Threads.

So to be clear, the only reason I wanted Windows Forms on Mono is to use
BackgroundWorker because it¹s simple and it works.
‹ ‹ ‹ 

Glover E. George
Computer Scientist
Information Technology Laboratory
US Army Engineer Research and Development Center
Vicksburg, MS 39180
601-634-4730





On 1/8/16, 10:09 AM, "Edward Ned Harvey (mono)"
<[email protected]> wrote:

>I think the advice would generally be:
>
>1. Yes you can absolutely write a Console Application, which works
>perfectly cross-platform, and does not need any WinForms or X11. (Right
>click your solution, new project, Console Application). It's better to
>create a new project than to convert an existing WinForms project, unless
>you know all the details of what's different between the two types of
>projects. They launch differently, in different thread compartments, and
>some stuff like that - it's not as simple as merely removing the
>System.Windows.Forms reference. Which brings me to the second point...
>2. You really should separate your business logic from the GUI code.
>3. In general, you should not expect WinForms to work well on anything
>other than windows. If you need a GUI for other platforms, design a new
>one, or use a cross-platform GUI toolkit such as Eto.Forms. If you don't
>need a GUI... Then separate the WinForms GUI code from the non-GUI code,
>so you can build your non-windows project independently of WinForms.
>
>Really, the core logic should be moved to its own assembly, so the
>winforms project and console project can both reference it.
>
>There is *some* support for WinForms on non-windows platforms. Rarely
>does it ever work well - nobody on a mac or linux wants windows that look
>like WinForms - and that's if it works at all. (Lots of times it's
>straight up nonfunctional). Even if it works perfectly, nobody wants to
>be dependent on launching X11 on a mac, and it's only *sometimes*
>acceptable on linux.
>

_______________________________________________
Mono-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.