Click here to Skip to main content
15,888,802 members
Please Sign up or sign in to vote.
5.00/5 (1 vote)
See more:
After slacking on the C# front for a year or two, I've decided to have another look. Previously I used C# for the web, but now I'm looking into creating desktop apps. And I'd like to use one of the latest technologies (to save me having to learn another one in a year's time...). I'd also particularly like to target Windows 7 - but also be able to make some apps for XP. My question is:

Which technology do you think is best to use for creating my desktop apps and why? Windows Presentation Foundation? Windows Forms? Other? I really don't have a clue, so I'm hoping for a nudge in the right direction! :)

Cheers.[thumbs up]

Posted

There is one thing i will say to you. WPF is the Next Generation.

 
Share this answer
 
Marc Firth wrote:
Which technology do you think is best to use for creating my desktop apps and why? Windows Presentation Foundation? Windows Forms? Other?


That's a tricky question, and not one that's easy to answer. First of all, let's address a misconception - WinForms aren't going to go away anytime soon, so learning them isn't going to be wasted effort. You'll still be able to develop desktop applications in them for a long time to come.

Now, saying that, I'd choose WPF over WinForms for a number of reasons.

1. While WinForms isn't going away, it's not going to be actively improved by MS, so you're stuck with what you get.
2. WPF makes it easier to create data bound applications. Rather than having to write lots of string myValue = txtName.Text; and txtName.Text = dr[dr.GetOrdinal("MyValue")].ToString(); code, you can use two way databinding in WPF to good effect.
3. It's easy to change the look and feel of WPF applications.
4. If you want to move over to Silverlight, it's based on WPF so the transition is a lot easier.
5. Microsoft is actively targetting improving WPF, and is starting to use it in its own applications.
6. The infrastructure underlying WPF is a whole lot more powerful.

 
Share this answer
 
Well, I'd do winforms, because
1) the drag 'n drop editor does not suck
2) existing code will fit it better because everyone is used to it
3) text rendering is not blurry and headache-inducing
4) you're not writing an advert so why does it have to look flashy?


 
Share this answer
 


CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900