Where can I learn to build desktop applications with C#? [closed] - c#

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a book, tool, software library, tutorial or other off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
My background is in web programming, mostly scripting with Perl. And I've recently been tasked with creating a desktop application. I'm wondering, where can one learn such concepts like making executables, what DLLs are for, how UIs are made, what threads are, etc.
I already have C# in Depth by Jon Skeet and C# in a Nutshell. I'm not worried about learning C# itself as much as I am learning about the workflows involved with using it on the desktop, things that are typically not done in web development.
Where should I look?

One starting point would be WindowsClient.net (Microsoft). Lots of videos too. But maybe a little less suited for the absolute beginners.

I only recently began learning C# myself - so I have quite the array(... ;) ) of links:
C-Sharp Corner
CSharp Friends
CSharp Help
CSharp for absolute beginners - Very good
CSharp-online
Hope these help.

For learning .NET application development (the only way people should write apps on windows boxes without requirements otherwise), start with the excellent book CLR Via C# by Jeffrey Richter. Save the first couple chapters for later. You'll get everything you need to know about C# and the 2.0 CLR, which is the basis of all .NET application development (in C#, anyhow.)
Once you're done with that, look into Linq. Linq covers a number of different language feature updates that came in 3.0 and 3.5 versions of the framework and their associated language updates. With the basics + a good understanding of Linq, you'll be creating decent apps in no time.
Now, for which framework to use when constructing desktop apps: Winforms, or WPF.
If you're a web developer, throw that old winforms crap away and get with WPF. You'll feel much more comfortable with editing WPF forms in xaml than dealing with winforms.
The best thing about WPF is the amazing databinding support. In fact, the WPF version of MVC is based on the databinding support in WPF.
Check out the databinding cheat sheet, then learn about MVVM.

A good place to start would be to read MCTS Exam 70-546 Windows-based client development, then read 70-548 Designing and Developing Windows-based application. After that, you will probably need to read books focused on the specific technologies your app will use.

Surprised no one has answered this yet:
Programming Windows With C#, by Charles Petzold. Great book, easy read. Example based, but well organized for people that want to jump directly to a particular topic. He actually explains what's going on in each example, and why he's doing what he's doing. Really, a great resource.
(Note: this is a Windows Forms book...no WPF. Great for what it does, but if you're looking for WPF, look elsewhere.)

Old question, but i had to learn the same thing recently. I got the Visual C# 2012 step by step book. It teaches C# along with WPM. A good way to learn.

From what I hear and the little I have read of it Chris Sells's book on WinForms would be useful that. If I am not mistaken he has also done a book on WPF, but I don't know if it is any good.

Check Windows Developer Training Resources and for sure you will need the help of a book and some videos

You can start by building a new project in Visual Studio and selecting the one of the project templates under C#\Windows. This will build a simple application so you can see the basic elements of the project. For example select 'Windows Forms Application' this will start you off with a form where you can drag and drop additional page elements. You can then use Intellisence to explore the options on the controls. Also load the sample projects so you can see working examples.
That's how I would do it.

I recommend you the C# Yellow Book (Rob Miles) it's free and very useful to learn C# basics fast.

Related

Learning C# .net Framework

I want to learn “C#” and “.net frame work” properly.
I read basic concept of C# language. Since I know C++ It did not took too much time to read C# simple tutorial.
Now when I searched the .net tutorial, most of the sites give C# language feature and some of the .net controls API and class usage.
But I don’t want that. I want basic such as how event loop work, how frame work is designed and some core concepts. For example when I searched the memory handling in .net I got garbage collection in .net, I read it and liked it a lot because it explains how and when garbage collection is going to take place.
One more thing is how read/understand a frame work?
Please help me to understand C#.net frame work properly.
Buy the book: CLR via C#, by Jeffrey Richter
I make a habit of reading someone else's code for at least 30 minutes a day. Code rarely comes with explanations fit for beginners, but it sure helps to get an understanding of practical usage of the language.
When looking for a text-book-style language guide, the MCTS self-help books have been more than adequate for my needs. They hardly cover practical usage of the language, but are fairly thorough in the whys and wherefores.
Here's a link to the MS MCTS training site, where you can explore certification exams and find supporting literature. I hope it helps.
http://www.microsoft.com/learning/en/us/certification/mcts.aspx
First of all, there are two completely separate GUI frameworks contained in .NET. The older one is called Windows Forms or WinForms and is largely a wrapper around the low-level Windows API and Windows native controls. The other one is called Windows Presentation Foundation (WPF) and is a very new and very different approach.
How the event loop works: The event loop is normally referred to as the message loop. There is a separate implementation of it in Windows Presentation Forms (WPF), about which I could find no information (sorry). But the WinForms one is actually the same as you would use in a low-level Windows API application. There is a Wikipedia article on the Message loop in Microsoft Windows.
How the framework is designed: This is a very vague question and is not possible to be answered as such. If you have specific questions about the design criteria or the design process, you can post a new and specific question about it.
you dont have to stack in books, first off find a Reflector program and try to understand codes

Where do I start with C#? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I am wanting to learn C# where would be a good place to start?
What tools will I need to code and compile with as well?
Tools - Download MS Visual C# Express Edition 2010.
Books - Head First C# if you are looking basics..
Refer this page for some good videos and links on C#
Don't rely on the web for good code examples...
With C# specifically, it's easy to find a million examples of how to do something but it's especially hard to find 'good' examples that are succinct and up-to-date with the latest features/practices of the language. If you're learning C# from scratch, the web will probably discourage more than help (I know from personal experience).
If you're learning C# rely on good books to get a solid start. Here's a good list of books to begin with.
Also, bookmark this site as an online C# reference. It is by-far the best of the hundreds/thousands of C# sites that I have seen.
Download Visual Studio Express edition 2010 and do a Hello World console application.
I'd also recommend downloading SQL Server 2008 express and getting familiar with that once you feel like you are getting good with C#.
Both are free and there is lots of resources out there for a beginner.
Also, if you work at a .NET shop tell your manager that you'd interested and see if he'll team you up with an experienced developer to get you started. Having someone to teach you is extremely helpful.
Download Visual Studio 2010 Express Edition, start reading books and tutorials and arm yourself with patience.
I defiantly would say it depends on your experience level. If you already know the OO fundamentals like Polymorphism, Encapsulation etc... and programming fundamentals like loops, conditionals etc... then perhaps opt for a Pro book Wrox C# 4.0. However if you are not familiar and have little experience I have to agree with others that the Head First Series is an extremely good way to learn. Not written in an Academic manner but in a more fun way which makes it easier to remember things.
Obviously as others suggested you can get the appropriate software to create applications in the form of the express editions.
I would try and create your own applications along with doing the books to make things fun and learn more. By doing this you can look at examples on the web and use the code trying to understand it, and also alter the code so it performs the functionality you want. Even if its functionality you have no idea about and the book hasn't covered, as long as you can look at the code and get a general idea of what it's doing.
Like the above mentioned Visual studio 2010.
try this for a great starter, it has loads of resources.
Get familiar with the api, the sooner the better.
I also find video tutorials a great way to let the stuff stick :) So either watch video tutorials then code a bit , then watch again to remember it, but the best way to learn the code is just to do it. Too much theory can confuse, code as you go, set goals for your self and the theory will come as you try to figure out and solve problems.
After installing VS2010 Express Edition, get Programming in the Key of C# by Charles Petzold. It's ancient, but nothing teaches the fundamentals of C# like this book. After that, get Essential C# 2.0, 3.0, or 4.0, higher the better.
Just take your time and learn the fundamentals down cold and you'll be ready to move on.
Check out Microsoft's MSDN series of tutorials.
There's a nice section that goes over command-line C# writing, as well as another section that covers the drag-and-drop window designer functionality that you get with Visual Studio.

Where to start with C# [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
Im a pretty experienced programmer in PHP and mainly web languages but today i have decided i want to start to learn a new language!
Im only 21 and I feel as I will never make it in the programming industry without a great set of languages under my belt, So i decided to have a look at C#.
The reason I have chosen C# is because some C programmers have told me that C# is the best language to learn for desktop applications.
I think i need to get started with the Syntax / Structure of C#, What Development Environment to use, and other things that i might face along my new journey.
I hope somebody can guide me
Thanks.
For IDE, you can use Visual Studio Express. And here's a nice set of tutorials.
Also do get your basic concepts straight about .NET framework and CLR.
Once you get the hang of it, Try out LINQ. It is (arguably)the most wonderful feature of the framework. Find some good LINQ tutorials here and here
Although you explicitly mentioned Desktop applications, .NET FW is equally suitable for Web applications 4GuysfromRolla is my favorite ASP.NET resource.
For Dektop applications you might want to start with WinForms, but WPF is the technology of the future. So you are better off learning it if you want to be developing Desktop applications for windows.
Happy Learning!
Stuff you'll need for the beginning:
Visual Studio 2010 Express edition
Few evenings with coffee and Beginner Developer Learning Center
A nice book like this one (it might be a giant one, but I'm in love with it)
Some more coffee
A lot of patience with stuff that isn't in PHP (LINQ, delegates, generic types etc)
Some nice idea to start actually developing and trying stuff out
The best way to learn is to have a problem to solve, and specifically I mean to do something that you DON'T know how to do, rather than something for which you already have the tools. I'd browse around on the net for some toy problems and try to build an app for it.
Eg. I only started on the way down OOP once I decided I needed a poker probability calculator. So basically I had to read a bunch of stuff about VB 6 as I went along. Classes, properties, methods, syntax... the web is great for that kind of thing.
I suppose what I mean is Just Do IT... (see what I did there? :) You'll screw things up, but learn loads more than any book can teach you.
If you're using Visual Studio for Learning it you can use MSDN that perfect for early learning is enough.
I highly recommend Illustrated C# 2008 by Daniel Solis. That's the book I used to learn how the C# language worked (Don't be fooled by "Illustrated" in the title: it's not so much a "beginner's" book as much as it uses good illustrations to teach the language).
You might consider following up with a book dedicated to Silverlight, Windows Presentation Foundation, or ASP.NET if you want to be able to apply what you learn in C# to an appropriate API. I would recommend any book by Matthew MacDonald for the latter.
Learning the basics Pascal, Java, C# and even C is more or less the same...
Start with the studying material of any academic "Introduction to Computer Science" course,
try solving the assignments in a few different languages (to learn C# at a C-like level),
then move on the material from any academic "Object Oriented Programming" course to learn the rest of the basics.
After that is only a matter of experience and searching the MSDN help.
Since you're already an experienced programmer learning C# is more a less an exercise in learning the .NET Framework. The syntax should be easy enough for you to nail down pretty quickly, just by looking for a few tutorials. The harder part will be learning the vast API available to you via the Framework.
I suggest finding a good book on C# (I've had good experience with Microsoft Press and I've heard good things about Wrox and O'Reilly). Make sure it discusses classes, polymorphism (inheritance and interfaces), event based programming, LINQ and reflection.
I believe you'll also want to look at any books dealing specifically with ADO.NET and WPF. The great thing about .NET is once you learn the .NET Framework API you can pretty much move between languages as needed.

Getting back into Windows programming after 10 years

I'd like to study up on the latest technologies for writing Windows desktop apps. My last experience was with VC++ 6 using MFC. The landscape seems more complex these days, I'm not sure if I should learn .NET, don't really know what Windows forms, WPF are etc. All I want to do is be able to write some simple Windows GUI apps, probably using & learning C# along the way.
Any recommendations on books to read etc?
Also, is the free version of VC2008 good enough for writing small apps?
I would go with .NET and WPF. WinForms is still available, but is really a legacy branch of .NET at this point, and not worth learning if you are starting from scratch. WPF offers a lot of good features, and is pretty use to get up and running with.
I found "Windows Presentation Foundation Unleashed" a good introduction to WPF. It explained the foundational concepts well and wasn't just one of those 2,000 page tutorials full of screen shots.
I recommend Head First C#. If you've programmed in C++ before, you should be up to speed fairly quickly.
alt text http://ecx.images-amazon.com/images/I/51u3iZDwU6L._SL500_AA240_.jpg
MFC has changed very little since vc 6 you should be able to pick it up again with little trouble and while this skill set may not be as indemand as .net There are still jobs out there and you can still write compelling windows applications.
I would start with reading C# online tutorials and articles from Code Project
Well, if you are using C# you are using .NET. .NET really is a great framework for creating desktop applications. I think you are on the right track.
Actually, I learned ALOT just browsing Stack Overflow and posting a few questions here. I think the Visual Studio Express tools are great for new developers. I'm also a fan of Bob Tabor's stuff (http://www.learnvisualstudio.net/) He does have some free stuff located on MSDN here that was really helpful for a guy like me with a mostly scripting background. You may be ahead of me because of your past experience so perhaps it's too rudimentary for you.
I'm really starting to enjoy C# and .NET and just started to be able to read code and for the most part, comprehend it. It was quite a breakthrough for me.
Jim
If you've got a C++ background and aren't afraid of pointers/stack/heap etc, then this book (CLR vi C#) will give you a superb understanding of .Net. It is very readable and will provide the foundations you need to be able to understand just about any new/up and coming .Net technology (e.g. Linq, extension methods, etc).
VS2008 express editions are available free here and are good enough for writing small apps.
Developing windows application is not at all a difficult task using visual studio and .Net.
Just Install visual studio watch some video tutorials of visual studio and C# .net from www.youtube.com and then kick start your development.
Since you have a background of development so there won't be a barrier in writing logic, you may slightly face problem with classes use object browser of visual studio to overcome problem with class.

Resources for Kids Learning C# [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
My 11 year old son is very interested in programming. He has been working with Scratch
for a couple years but has now outgrown it. I recently helped him install Visual C# Express Edition and he is very excited to work with it, but we're having a hard time finding good resources for him online.
He learns best by looking at sample programs, dissecting them, altering them, etc. Searching around I wasn't able to find many good samples for him to download and try in C# Express Edition. Can anyone point me in the direction of a good set of sample programs for a kid learning C#, or any other resources you think might be good for him?
BTW I'm a programmer myself but I've been almost exclusively working with Linux for a long time, so when it comes to Microsoft I'm pretty lost!
I would recommend Coding4Fun. There are some very nice projects out there which would appeal to an 11 year old. I recall seeing some games, screensavers, and even a sample which shows how to make a WinForms app look like it is bleeding (awesome for Halloween, eh?)
Hmm... given that C# isn't really a "teaching language" (and that's not to say it's a bad choice), I suspect there aren't a lot of tutorials targeted at younger kinds. Have you considered doing some parallel learning and trying to pick up C# with your son? It might be a good bonding experience for both of you, and with your background in programming, you'll likely have a lot of insight to share, even if it's more language agnostic knowledge about things like algorithms, style, commenting, pitfalls to avoid, etc.
If your son has already been working with Scratch and is going to be starting on C# then I would say that he is ready for a regular starting C# tutorial. Teaching programming to kids in general has been discussed several times at SO a few times. Here is one of the better results (How and when do you teach a kid to code). The principal concepts of teaching a kid to program are the same regardless of the language.
Alice is based around story-telling. It's not programming specifically, but it teaching programming mechanisms. Instead of loop, it's more like "Repeat this" type construct. Worth watching the demo video though.
I just found when zapping the web the Kid's Corner from Microsoft, he could have a go on this link as well :-)
Code Project is a good resource, but many of the sample are more complicated than you'd want to start with.
For smaller sample apps, Microsoft released their 101 Samples for Visual Studio 2005
XNA is cool, but is somewhat complicated to get started with.
Coding4Fun is also good, but the amount of content isn't that huge.
For an absolute beginner I would suggest www.codecademy.com. It is very simply written and completely interactive from the very first page load. Very ideal for a 1st timer imho. It teaches in JavaScript not C# but they are pretty similar as far as syntax goes. He might already be too advanced for this though.
Any book written in or after 2008 that states it's C# for beginners on Amazon with positive reviews. Do not buy |BLANK| for dummies, no kid likes it! and keep a maximum price of $30 for $25 you can get a book that will be so great Microsoft might have to hire him, lol jk. i recommend a wrox book but any other book will do. has he coded any program yet, is he doing freeware, opensource or paid. some books are made especially for open source. it might be hard at first, but he will end up coding some really useful programs. Main thing, make him keep going! don't let him quit. In my opinion, it isn't worth quitting; once you got the hang of it coding is really fun.
I've started with C# by joining a Minecraft (link) classic server development team. These were all people around 16+, but they really helped me learning the language. Getting into a team with people around your age who are a bit more experienced helps a lot I think, and I'd definitely recommend it.
First of all, I would love than my daughter would be interest in programming when she come to that age, and for that, congratulations.
Microsoft has Codding 4 Fun which should be a nice start, and if he's interested in Video tutorials, check the ASP.NET Learn website, he will find a lot of tutorials and video tutorials in VB and C# together with all the source code.
After that, code Project is a nice place to look to more examples :)
Good programming!
Code Project comes to mind. Lots of samples, projects, etc. available to play with.
If games interested him (which is a fair bet) check out XNA, otherwise try to find some other interest, for example music, and then look for a framework/SDK that would let you create useful content quickly without having to do too much legwork.
You might be interested in checking out Popfly. It is a system similar to Scratch but if you want you can begin adding your own components or do some extra javascript or C#. The integration of the multiple technologies might be a little too advanced but then again it might be okay. Again this is very close to Scratch but it might be fun.
As mentioned previously definitely check out Coding4Fun.
Congratulations and good luck.

Categories

Resources