When to switch to Windows forms

  • (2 Pages)
  • +
  • 1
  • 2

17 Replies - 746 Views - Last Post: 12 June 2013 - 10:42 AM Rate Topic: -----

#1 Semus  Icon User is offline

  • D.I.C Head

Reputation: 14
  • View blog
  • Posts: 126
  • Joined: 27-May 13

When to switch to Windows forms

Posted 11 June 2013 - 11:46 PM

This question really has nothing to do with Windows forms per-say. It has more to do with the Head First C# book I just picked up, so this question is focus towards those that have read it or know what it's about.

This book concentrates on using Visual Studio and Windows forms to build applications and avoid all of the needless code needed to create those forms.

While I consider this to be very helpful, I wouldn't consider this a "beginner" subject. The Head First C# book really doesn't appear to cover the fundamentals of C# at first glance, and seems to concentrate more on using Windows Forms to jump right in and start creating applications without coding all of those buttons and windows yourself.

I can imagine that this book is pretty helpful in this regard, but at what point is it OK to start using things like Windows Forms? For example, if you don't have a grasp on the fundamentals of C# then I would consider jumping into Windows Forms a pretty bad idea. Not being able to read the code that's created by visual studio for Windows Forms could possibly be detrimental to the learning process with regard to C#.

There are several other books (along with massive amounts of resources online) that cover the fundamentals of C#. At what point would you recommend safely jumping into using the Head First C# book && || Windows Forms?



P.S. Several people have said they learned C# with the Head First C# book which seems backwards to me.

Is This A Good Question/Topic? 0
  • +

Replies To: When to switch to Windows forms

#2 AdamSpeight2008  Icon User is offline

  • MrCupOfT
  • member icon


Reputation: 2240
  • View blog
  • Posts: 9,410
  • Joined: 29-May 08

Re: When to switch to Windows forms

Posted 12 June 2013 - 12:09 AM

I think a lot of books teach the subject especially with newcomers to the subject.
They don't cover thinking about algorithms, or don't consider what you see and what the computer treats it as being different.

"99" != 99


Have you coded your own objects types yet?
Or used inheritance?
Can I suggest you have a go at implementing Noughts & Crosses (Tic-Tac-Toe) in a console app.
If you are feeling plucky add a computer opponent.

This post has been edited by AdamSpeight2008: 12 June 2013 - 12:20 AM

Was This Post Helpful? 0
  • +
  • -

#3 Semus  Icon User is offline

  • D.I.C Head

Reputation: 14
  • View blog
  • Posts: 126
  • Joined: 27-May 13

Re: When to switch to Windows forms

Posted 12 June 2013 - 12:23 AM

View PostAdamSpeight2008, on 12 June 2013 - 12:09 AM, said:

Have you coded your own objects types yet?
Have a go at implementing Noughts & Crosses (Tic-Tac-Toe) in a console app.


No. I haven't done this yet. Where to even begin :helpsmilie:

I'll take a look around and see if I can find out where to start. I think it's safe to say that it's a good idea that I finish the first book I started that explains everything that's included in the beginner tutorials on this site (and others).

After about a month of C# tutorials I can at least say that the beginner tutorials on this site are very familiar to me now. That's progress :bananaman:
Was This Post Helpful? 0
  • +
  • -

#4 Witchking  Icon User is offline

  • D.I.C Head

Reputation: 68
  • View blog
  • Posts: 188
  • Joined: 17-February 13

Re: When to switch to Windows forms

Posted 12 June 2013 - 03:28 AM

When i started out a couple months ago i shortly tried working with WinForms. I felt they were infuriatingly messy and difficult to work, and haven't touched them since. Upon further reading on the subject i also found they are terrible outdated. I'm now instead studying WPF, which is much newer and more powerful. So far it also feels a lot clearer and easier to use. This might not be how everyone feels though, as i often read that WPF was more difficult for beginners than WinForms. In the end for developing working Windows applications you will no doubt want to use WPF, but i suppose dabbling in WinForms can't hurt your learning. I can't really say if it is the right time for you to start working with either, but i do think you should have a decent understanding of object oriented programming (classes, objects, methods etc.) first.
Was This Post Helpful? 1
  • +
  • -

#5 Michael26  Icon User is offline

  • DIC-head, major DIC-head
  • member icon

Reputation: 349
  • View blog
  • Posts: 1,498
  • Joined: 08-April 09

Re: When to switch to Windows forms

Posted 12 June 2013 - 04:48 AM

Semus, you should read both WinForms and WPF just to see the difference
Was This Post Helpful? 0
  • +
  • -

#6 Curtis Rutland  Icon User is online

  • (╯□)╯︵ (~ .o.)~
  • member icon


Reputation: 4422
  • View blog
  • Posts: 7,690
  • Joined: 08-June 10

Re: When to switch to Windows forms

Posted 12 June 2013 - 07:33 AM

People learn differently. Some people need to start at the very beginning and have each language element defined and described. Others need to jump in head first (see where they got the title?) and start doing something practical, and learn the basics from that. I'm personally in the second category. I don't need or want to have each piece of the language analyzed before I've done anything practical at all. But that's not to say that the other mode of learning is any worse or better. That's why there are so many different learning references.

If you don't feel like you're learning correctly from one book, try another. I know a lot of people swear by Head First, but if it doesn't suit your style, try one with a different style. I'm reading my way through Murach's C# 2012 (for review purposes) and I think you might like that style, but it's hard to say.

Don't shy away from new challenges though. Give a few simple Hello World forms applications a shot. Or better yet, skip WinForms altogether and learn WPF. You'll have a leg-up on the competition, because Forms is dying out.
Was This Post Helpful? 0
  • +
  • -

#7 Semus  Icon User is offline

  • D.I.C Head

Reputation: 14
  • View blog
  • Posts: 126
  • Joined: 27-May 13

Re: When to switch to Windows forms

Posted 12 June 2013 - 07:57 AM

I should have actually been more clear in my OP. God, I'm terrible at this lol.

OK, what I meant by Windows Forms was just the basic concept of building GUI applications. This could be through WinForms or WPF. Either way, you're building an application that has a GUI.

I believe the Head First C# book focuses on Windows Forms, but either way, my question was more focused towards GUI learning vs. fundamentals. I suppose different people tend to learn with different techniques and that's why it's very difficult to get recommendations for books.

Just to give you an idea, the books I have purchased include: "Introducing C#/Joes to Pros", "Head First C#" (for 2010), and "C# 2010 for programmers(4th edition)" from Deitel.

I am reading the first book at the moment and am really enjoying it. It has really taught me quite a bit and I've been able to expand on the examples provided in the book and have even made modifications to some of the challenges just to experiment a little. After I finish this book and get a better understanding of "objects", "methods", and "classes", I'll start reading the Head First C# book just to familiarize myself with building GUI applications.

After that I'd like to learn more about WPF and obviously LINQ.

I hope that clears up some things and gives you a better idea were I stand. The past month has been very productive for me coming from a background of never touching a line of code in my life. I'm finding working with C# very rewarding. I am a builder at heart and I absolutely love seeing my work come together on screen.

P.S. I have also purchased "beginning C# Object-Oriented programming" although that book is a fair bit advanced and focuses on real world application development. It goes into details about the importance of creating a UML diagram to build your apps.

This post has been edited by Semus: 12 June 2013 - 08:04 AM

Was This Post Helpful? 0
  • +
  • -

#8 Witchking  Icon User is offline

  • D.I.C Head

Reputation: 68
  • View blog
  • Posts: 188
  • Joined: 17-February 13

Re: When to switch to Windows forms

Posted 12 June 2013 - 08:29 AM

I think you should concentrate on the C# and OOP fundamentals first. Using LINQ and lambda expressions with local data isn't too difficult, but is very useful so reading up on that wouldn't hurt either. Afterwards you'll be in a stronger position to start studying UI design, and you'll better understand user interface and back-end separation, and its importance.
Was This Post Helpful? 0
  • +
  • -

#9 Semus  Icon User is offline

  • D.I.C Head

Reputation: 14
  • View blog
  • Posts: 126
  • Joined: 27-May 13

Re: When to switch to Windows forms

Posted 12 June 2013 - 08:34 AM

View PostWitchking, on 12 June 2013 - 08:29 AM, said:

I think you should concentrate on the C# and OOP fundamentals first. Using LINQ and lambda expressions with local data isn't too difficult, but is very useful so reading up on that wouldn't hurt either. Afterwards you'll be in a stronger position to start studying UI design, and you'll better understand user interface and back-end separation, and its importance.


This was my thought as well. If you understand what's going on behind the scenes, you'll have the foundation to manipulate your applications in a much more intuitive manner.

WPF does interest me. Would it be possible for someone to lay out the fundamental differences between WinForms and WPF? My understanding is that they are both GUI building utilities, but WPF is apparently miles ahead with respect to what you are able to customize.
Was This Post Helpful? 0
  • +
  • -

#10 Curtis Rutland  Icon User is online

  • (╯□)╯︵ (~ .o.)~
  • member icon


Reputation: 4422
  • View blog
  • Posts: 7,690
  • Joined: 08-June 10

Re: When to switch to Windows forms

Posted 12 June 2013 - 08:46 AM

Windows Forms is the "old way" of doing things. Your GUI is built with code. The GUI Builder lets you visualize this and modify the code without ever manually touching it, but in the background, there's still a block of code that initializes and places every control on your form.

WPF has a different philosophy. The GUI is built in XAML, which is like XML. You can design your GUI completely separate from your code. It's also infinitely flexible, since you can change the styles and templates of literally everything. It's significantly more flexible from a design and animation perspective than Windows Forms. It also embraces MVVM pattern, which is a much better way to handle presentation (you make models (classes) that map to real world business objects and logic, views with data-binding (which is awesome), and ViewModels for mapping your data to the views).

WPF is the future, but mainly because of XAML. That's also used for Windows Store 8 and Windows Phone 8 applications.
Was This Post Helpful? 1
  • +
  • -

#11 Semus  Icon User is offline

  • D.I.C Head

Reputation: 14
  • View blog
  • Posts: 126
  • Joined: 27-May 13

Re: When to switch to Windows forms

Posted 12 June 2013 - 09:05 AM

Would you say that the XAML language is difficult to learn? By looking at some example code on the MSDN website, it appears to be similar to that of HTML. I could be completely wrong, but at face value that's what it reminds me of.

I know that Visual Studio 2010 has implementation of WPF but it looks as if I'm going to have to learn an additional language (XAML) if I want to do anything remotely advanced.
Was This Post Helpful? 0
  • +
  • -

#12 Curtis Rutland  Icon User is online

  • (╯□)╯︵ (~ .o.)~
  • member icon


Reputation: 4422
  • View blog
  • Posts: 7,690
  • Joined: 08-June 10

Re: When to switch to Windows forms

Posted 12 June 2013 - 09:18 AM

Difficult is relative. I can't say it's easy or hard. Just a thing. The concept is similar to HTML, but the execution is a bit different. BTW, if you're going to work with WPF, you're going to have to learn XAML to do anything at all, not just anything advanced. But that's the same as saying "If I want to do web programming, I'm going to have to learn HTML".

WPF is basically a two-part beast. The code that drives the application is C#/VB.NET/other .NET language, and the code that drives the presentation is XAML (code is the wrong word even, it's markup).

Don't work yourself up about it. Once you're ready to move on to GUI applications, take a look at it. You'll learn more by doing than you will by just reading about it.
Was This Post Helpful? 1
  • +
  • -

#13 Semus  Icon User is offline

  • D.I.C Head

Reputation: 14
  • View blog
  • Posts: 126
  • Joined: 27-May 13

Re: When to switch to Windows forms

Posted 12 June 2013 - 09:39 AM

To be perfectly honest with you, my ultimate goal is to create my own video games using XNA. I know this might seem a bit odd, but I got into C# for this very reason. I have stayed away from using XNA until I have a firm understanding of C#. I want to be able to do some advanced things with C# before I even begin to worry about working with XNA.

Plus, I do want to be able to develop my own desktop applications as well. I have a couple of ideas for desktop apps that will make my life (and hopefully others) a whole lot easier. A couple of these applications are very simple, although they may implement some functions that may not be so easy to create.

Having the added benefit of being able to create desktop applications will be a skill I will be proud to put on my resume. Still, that's not my ultimate focus.

I'll put it to you this way... If you gave me some wood, nails, and a hammer, I could probably build almost anything. Having the capability to do the same thing in the virtual world is something I have wanted to do for quite a long time. My only regret is not picking up this skill at a younger age.

If you read my blog it goes into greater detail on my past and what sort of things I'm interested in. I'm an all-around kinda guy (jack of all trades if you will). If you show me how to do something, there's a good probability I will excel at it.
Was This Post Helpful? 0
  • +
  • -

#14 Curtis Rutland  Icon User is online

  • (╯□)╯︵ (~ .o.)~
  • member icon


Reputation: 4422
  • View blog
  • Posts: 7,690
  • Joined: 08-June 10

Re: When to switch to Windows forms

Posted 12 June 2013 - 09:45 AM

Unfortunately, XNA is being discontinued. I'd pick another gaming framework if I were you.
Was This Post Helpful? 0
  • +
  • -

#15 Semus  Icon User is offline

  • D.I.C Head

Reputation: 14
  • View blog
  • Posts: 126
  • Joined: 27-May 13

Re: When to switch to Windows forms

Posted 12 June 2013 - 10:03 AM

View PostCurtis Rutland, on 12 June 2013 - 09:45 AM, said:

Unfortunately, XNA is being discontinued. I'd pick another gaming framework if I were you.


I don't think XNA will just stop working when it's discontinued. Plus, my focus will be PC games and not Xbox games. The reason I got into C# is because of XNA and being able to work with XNA directly from Visual Studio. That's not to say I would quit C# just because XNA is going away. Are you saying that XNA is being obliterated from the planet, or do you mean it's not going to be supported anymore?

What other frameworks do you suggest that will be as easy to work with within Visual Studio?
Was This Post Helpful? 0
  • +
  • -

  • (2 Pages)
  • +
  • 1
  • 2