Use monogame in Windows Form - winforms

I was using windows form to create a game but I concluded that the performance is just too bad. So I decided to work with Monogame.
The thing is that I can't use the tools(picturebox, bitmaps, menus etc..) with monogame so my question is : Can I draw all the things that are normally drawn in monogame in a picturebox in Windows Forms to get the drawing performance of Monogame but still being able to use everything Windows Forms has to offer?
I can't find any information about this topic on the Internet, so I would really appreciate if someone can help me out!

Take a look at embedding in a winform.
http://jaquadro.com/2013/03/embedding-your-monogame-game-in-a-winforms-control/

Related

WinForms override control box

Does anyone know what it would take to override the look and feel of a WinForms Control Box? I don't want to change the functionality of the buttons, I just want to change the color and the images. Something similar to what Instagrille has done with their Instagram app for Windows.
The control box is created by system. AFAIK, you cannot customize it. Although you can get rid of it and create your own. This will take some effort.
You will have to P/Invoke User32.dll and override WndProc to intercept windows messages.
Take a look are these articles to begin with. This and this one.
You may be better off porting your app to WPF. The level of control you're looking for comes "for free" in with the framework and is more future proof on the Windows platform. This answer is a good place to start, there are more good links here.
If that's not an option, I think danish has you off to a start. I would be wary of attempting to extend WinForms too far beyond what it's meant to do, in my experience it can make for a headache in the future. Good luck.

Showing a Windows form in wpf

I'm working on some multi-touch Surface computers for my workplace (mainly for meetings and presentation), and not being wholly familiar with WPF, I was wondering if I might be able to put some Windows Forms in a Surface project so that several users could ostensibly use programs at the same time.
Is this possible?
I don't understand the reason why you want to include windows forms into a WPF project, but if that's all you want to do, check out this. WindowsFormsHost Class is used to manage WinForms things in WPF.
Please mark my reply as answer if it solves your problem.
Thanks,

FsharpCharts for silverlight / f#

This might be a stupid question, but there are soo many combinations of approach (wpf, silverlight, winforms, html5) with incompatibility at mscorlib level, that I got completely lost.
I would like to be able to have a few windows mainly displaying realtime charts.
Probably with interaction among the windows (click in one, pop and display a new windows)
If it can be viewed on the web, perfect.
But I dont want to have to deal with another layer of nasty stuff for those features (like having to setup some "WCF" on a "IIS", kill me first)
In the end I was thinking of using FSharpChart on Silverlight.
Is that possible and/ or the best option ?
Thanks for your suggestions
update
I see that system.drawing which fsharpchart relies on is not silverlight supported..
Try Dynamic Data Display instead of FSharpChart. It runs on Silverlight: http://research.microsoft.com/en-us/um/cambridge/groups/science/tools/d3/dynamicdatadisplay.htm
It's not as F# Interactive friendly as FSharpChart, but you can easily wrap it in a handful of functions to make it more usable

Moving from WinForms to WPF

Well we are considering to move from WinForms to WPF, what pitfalls does WPF have? And we got component one's flexgrid is there any wpf grid that has the same functions? one nice thing with it is that you can implement your own draw method for the cells... It can merge cells print and save to many file formats..
In general, WPF development is very different from WinForms. You should expect it will take some time to learn the new technology (or you might even need to hire new developers =)).
WPF approach is in many ways better than WinForms' one: check out styles and triggers, data binding, control templating, eventing model.
I would recommend you to start exploring it, but wait for the WPF 4 (and the boring MSDN page) to start the actual migration, because it is going to be even better and close some of the very annoying gaps.
First of all, WPF works pretty different from Windows Forms and likely requires a different approach on how to structure and design the application. At least it works way better if you do it the way it was conceived.
As for single Windows Forms controls, this shouldn't be a problem. There is a WindowsFormsHost which enables you to include Windows Forms controls in WPF.
The change from winforms to WPF is not a change I'd reccommend unless you have specific requirements which WPF fulfills - WPF is not intended to be a replacement, simply an alternative which is more suited towards graphically rich applications.
If you do have a specific requirement then you also might want to consider embedding WPF controls into winforms applications, rather than converting your entire application.
The learning curve is slow to get going, but once you get the idea it all starts to make sense. We have "Pro WPF in C# 2008" book floating round the office and its been a great help. Of course most things get googled to find an answer, but to find out why something is done the way it is this book was a great hope - to me anyway.
There are some annoying features but its still WPF is still quite new. Like most things, if you come across a problem someone has likely come across it before and there is an answer out there!!
J
Take a look here for a datagrid: http://wpf.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=29117
The main hurdle with WPF is simply the huge amount of new stuff to learn (if you wish to use it properly). I'd think twice if you're on a tight schedule, but it might be worth it if you have 6 months to spare...
Speaking from just my experience, moving from Windows Forms to WPF took some re-learning. A few months into the transition most changes made total sense. WPF removes much of the frustration associated with using Windows Forms. It allows for a truly rich UI development experience especially when working in tandem with designers. I strongly recommend WPF Illustrated by Daniel Solis as a learning aid.
With reference to the grid, Syncfusion offers a WPF grid control that implements the features you have asked for. It implements true virtual mode with cell level customization, printing and export to multiple formats including Excel. Disclaimer - I work for Syncfusion.

Should we migrate to WPF or Winforms? [duplicate]

This question already exists:
Closed 14 years ago.
DUPE: When is Windows Forms the correct choice vs WPF?
We have to decide these days whether or not to go with WPF as a platform for building our next generation of our product.
Personally I am a little afraid of using this technology especially because of performance and because it's not mature (I am not sure about the quality of the UI editors such as Blend).
Personally, I absolutely adore WPF.
It requires a fundamental shift in thinking from Winforms. Winforms you drag and drop stuff on to a form. That gets you 80% of the way really quickly and easily, but when you need to move outside of the things that WinForms explicitly covers, you enter a world of pain.
In WPF, first thing you do is turn off the visual editor. The code for your UI goes from an ugly mess to something beautiful. Also, it is remarkably powerful and flexible, once you get the hang of it the things you can do are absolutely amazing.
The downside to WPF is that it is more heavy then WinForms, and the learning curve is relatively huge. However, it is the way of the future, and unless it is a trivial app you are making, I would choose WPF hands down.
If you don't need a very glossy UI with animations and so on, I see little reason to jump to WPF... just yet.
If you are worried about performance, you should check these MSDN pages:
Windows Presentation Foundation Performance
My guess is that WPF is even outperforming Winforms as long as there is appropriate DirectX hardware because rendering can be done by the GPU directly then.
Considering MS is building their next version of VS with a WPF based code editor, I find it hard to find support for WPF not being 'mature' or having performance issues.
I would say if you are able to migrate anyway, you might as well upgrade to increase the longevity of your code base. If your code is written properly in Winforms, it should not be very difficult to start moving this forward into WPF.
I started about 10 weeks ago teaching myself WPF, and then in the last 2 weeks I have actually written an application in WPF.
I came from ASP.NET and I love WPF. I love the XAML markup, it just makes more sense than dragging items over and making sure they are in the right place in a WinForm.
The styling is easier in WPF, you can quickly make a border with rounded corners.
Using Expression Blend you can design a really nice interface with animation.
I developed a WPF app on Vista (home), and XP (work) and they both look really nice.
I have been very pleased with WPF and would not go back to WinForms.
My sense would be that if you are happy with the look and feel of winforms, then stick with it. If you think you will be doing any visual customization, then go WPF. But then I have been working with winforms for a long time and WPF very little. If I was starting out, I would probably focus on learning WPF since it really is much more flexible

Resources