WPF vs Windows Forms

Something to look into before you get started with your desktop app…

+ Powerfull styling and skinning structure

+ Easy to create an own Look and Feel
+ The future technology for developing Vista Applications
+ The ability to reuse existing code
+ databinding works and is simple . Highly advanced databinding possible

+ Much quicker to develop normal apps .  ( Forms is probably quicker for v simple apps) – once you are experienced,
+ Declarative vs procedural code ( You can use Procedural if you want)

+ Requires a lot less code behind to do common things. Framework much smarter.

+ Much more maintainable apps (from better databinding and declarative code with better seperation) . 

+ Excellent layout

+ Excellent document support.

+ Multi media support.
– Requires .NET Framework 3.0
– Compared to Windows Forms, still in development phase (?? not sure about this – sure some controls are missing ( calander/datetime) but the framework is miles better 
– Requires Dx9 compatible vidcard for advanced graphics

– Considerable learning curve .

Windows Forms:
+ Extensive documentation to be found on the internet
+ Plenty of examples

+ Many mature 3rd party controls available

+ Very quick to develop simple data bound applications  ( eg a single form with a grid) , once you get to master detail WPF probably better.

+ Easy to get started. 
– DataBinding is a pain in the butt.. Ok for simple scenarios but when your client wants something a bit out of the norm you will end up pulling the bindings out and do it manually,
– How long will this be supported? (I’ve read somewhere that Microsoft is only developing WPF now, only maintanance for Winforms)
– Design your own look and feel in a application is a lot of work.

– Cant do advanced graphics
– Compared to web components and WPF relatively feature poor though mature. Most of the code is just wrappers around the Com UI objects. Which can lead to very painfull problems.  Extending it is much more painfull than WPF . 


2 thoughts on “WPF vs Windows Forms

  1. if (TextBox1.Text == “” || (!RadioButton1.Checked && !RadioButton2.Checked))
    Response.Write(“alert(‘Please Fill All Feilds!!’)”);
    Label2.Visible = true;
    cmd = new SqlCommand(“select * from onlinepersons where nickname='” + TextBox1.Text + “‘”, cn);
    dr = cmd.ExecuteReader();
    if (dr.Read())
    Label2.Text = ” Username Is Not Available !! Please Choose Another”;
    ViewState[“value”] = “0”;
    Label2.Text = “Congratulations !! This Username Is Available!!”;
    ViewState[“value”] = “1”;


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s