I suppose if you just want to Windows Forms programming on .NET, almost any book will do. Windows Forms is pretty simple stuff. Draw stuff with the resource editor, hook up your callbacks to the UI elements, and you're done. But you will discover that it is incredibly useful to know how stuff works under the hood - especially when you wonder why your UI froze on some function that takes a long time, or when you want to interoperate with code written in other languages, or call Windows APIs that aren't directly exposed on .NET.
If you really want to learn how Windows UI programming works, the definitive "How to program in Windows" book with an emphasis on UI, is (and will always be):
Programming Windows by Charles Petzold
This book takes you through the low level fundamentals of window creation, window styles, message pumps, graphics, mouse, and some basic system programming. All code examples are in C. Even if you are programming in .NET, knowing what's under the hood of .NET is quite handy. That sad part is that this book was writting in 1998. Very little has changed since then.
If you want to learn Windows System programming, the "the book" is the same one Ninefingers recommends above:
Windows via C/C++ by Jeffrey Richter
Threads, DLLs, files, kernel objects, critical sections, mutexes, semaphores, and other good stuff is covered by Richter's book.
Stay away from books about MFC.