194
Previews
11
Favorites
Purchase options
Better World Books
DOWNLOAD OPTIONS
No suitable files to display here.
IN COLLECTIONS
Internet Archive Books
Uploaded by
Lotu Tii
on
Everything changes in the Microsoft .NET Framework and the C# language, including the creation of graphical user interfaces (GUIs). Windows Forms Programming in C# explains the Windows Forms (WinForms) environment to programmers who have some experience with .NET programming, and in the process (thanks to a clear and deliberate expository style) reveals a lot about .NET to less experienced developers. The overall effect is that almost every reader comes away with better knowledge of .NET, not just its user-interface libraries and behaviors.
Author Chris Sells takes care to balance code samples with explanatory text, meaning that most chapters take on a characteristic «code, explanation, effect» style (in which «effect» is usually documented with a screen shot). This approach is effective, and serves both to answer «How do I…» questions and inspire «I should give that a try!» exploration. Once in a while, callouts will link two or more screen shots with a sample of code, graphically illustrating how code affects the appearance of a form and how it’s represented in the Visual Studio development environment. On top of his clear teaching style, Sells calls attention to workarounds for shortcomings in the .NET environment (particularly where similar limitations don’t exist in Microsoft Foundation Classes), helping to improve programmer productivity in the growing .NET environment. —David Wall
Topics covered: How to use the WinForms environment within the Microsoft .NET Framework. Dialog boxes, drawing, printing, and controls all are covered by means of explanations and lots of illustrative examples, and there’s good coverage of the WinForms event model, too. An appendix compares MFC and the .NET Framework.
Praise for Windows Forms Programming in C#
&;Chris may have a strong affinity for semi-colons, but anybody who&;s programming Windows Forms needs to read this book.&;
&;Brian Randell, Visual Basic Guru and DevelopMentor Instructor
&;Chris Sells has done it again. This book has everything a developer needs to know to write serious WinForms applications. Chris leaves no stone unturned in explaining the WinForms programming model and arming developers with the knowledge they need to exploit WinForms to the fullest. And, as if that weren&;t enough, Chris&;s writing style makes this book a page-turner for geeks. I couldn&;t put it down! Until John Grisham gets the .NET religion, you won&;t find a better WinForms book anywhere.&;
&;Jeff Prosise, co-founder of Wintellect, author of Programming Microsoft .NET
&;Chris is clearly *the* expert on web deployment of WinForms. In this book, Chris explains this material clearly and the power of the technology really shows. Unlike other WinForms books, this manuscript takes a more practical approach to the use of programming tools, such as Visual Studio. Sells&;s book strikes a nice balance between theory and practice. Windows Forms is an important technology that needs more press. Chris Sells&; book is in great position to be the definitive work on the emerging technology.&;
&;Brian Graff, Sr. SW Engineer, PreEmptive Solutions, Inc.
&;Chris has written the best WinForms book around. Period.&;
&;Pierre Nallet, DevelopMentor Instructor
&;Chris does a nice job of presenting the core elements of WinForms complete with many concise samples and graphic depictions of UI features in action. Even more compelling, however, is how Chris anticipates how most developers will want to use these features, and presents techniques and paradigms of usage that will be invaluable for any serious WinForms developer. This book is destined to become dog-eared in the hands anyone building WinForms applications.&;
&;Fritz Onion, DevelopMentor instructor and author of Essential ASP.NET
&;I don&;t want just a description of the WinForms widgets. I can get that online or from other books. What I want is a roadmap for pitfalls to avoid, and innovative solutions for common problems. That is where this book shines.&;
&;Johan Ericcson, SW Engineer, Agilent
&;This is the definitive book for every Windows Programmer.&;
&;Fumiaki Yoshimatsu, Sr. Engineer, Intoferia Corporation
&;After browsing through countless books that introduce me to Windows Forms basics, it is refreshing to find a book that dives right into some real hard-core programming. This is, without a doubt the best and most useful C#/WinForms book I have ever read. I would suggest this book to be essential reading for very serious .NET WinForms developer who wants to work smarter instead of harder.&;
&;Serge Shimanovsky, Software Developer, Rueters Group PLC
&;In this book, Chris Sells discusses how the Windows Forms classes and their supporting infrastructure can be used to write robust and rich smart client applications. If you&;re an experienced Windows programmer who has previously used MFC or directly utilized the Win32 API to write such applications, you will find Chris&;s direct delivery very appropriate for transferring your knowledge to the managed classes. If you&;re a developer with less Windows development experience, you&;ll find the treatment of core concepts in application UI programming indispensable.&;
&;From the foreword by Mike Blaszczack, Architect, SQL Server Data Warehousing, Microsoft
«I think this book does a great job of hitting a huge number of features&;sometimes I forget how much there is to WinForms!» &;Chris Anderson, Software Architect, Microsoft Windows Forms team
Programming Windows Forms in C# is the ultimate guide to using the Microsoft .NET forms package. Readers learn how to build smart client applications that take full advantage of both the rich user interface features of the Microsoft Windows operating system and the deployment features of HTML-based applications. Author Chris Sells draws upon his WinForms research and programming experience to provide what the Windows Forms documentation could not: a clear picture of exactly how C# programmers will want to use WinForms.
Well-written and easy to navigate, this book presents the building blocks of WinForms and the best practices for creating stand-alone client applications and front ends to databases and Web services. Readers gain an understanding of the rationale behind aspects of WinForms’ design and will find out how to avoid or solve common problems. Figures illustrate WinForms’ user interface features and code samples are used throughout the book to demonstrate best practices. All code has been tested with Visual Studio .NET 1.1 and is available at www.sellsbrothers.com, where readers will also find updates to the book.
This book focuses on the topics readers need to understand in order to build real-world applications. These topics include:
Form layout
- Multiple top-level windows
- Non-rectangular windows
- Accessing data from the middle tier, filesystems, XML, databases, and Web services
- Classes outside the System.WinForms namespace, including System.Drawing and System.Security
- Custom drawing
- Hosting and building controls
- Design-time integration
- Data binding
- Multithreaded user interfaces
- Deploying WinForms over the Web
- Moving from MFC
- Delegates and events
- Serialization basics
Programming Windows Forms in C# is the tutorial for experienced Windows programmers who are serious about mastering Windows Forms.
Время чтения: 5 минут
Windows Forms — интерфейс программирования приложений, отвечающий за графический интерфейс пользователя. Он является частью .Net Framework и создан для того, чтобы упростить взаимодействие пользователя с элементами Win API. Причём не просто упростить, а буквально полностью скрыть низкоуровневое взаимодействие с графическими элементами путём создания набора базовых компонентов и классов. При этом используемые классы не привязаны к языку разработки, благодаря чему данный проект может использоваться как на родном для Microsoft C#, так и на других языках, например, C++, VB Net и F#. Но не смотря на свою кроссплатформенность в мире языков программирования, Windows Forms проекты легко создаются на C#, однако при попытке создания проекта на C++ возникает множество проблем.
Шаг 0. А вдруг получится сразу?
В настоящее время IDE, поддерживающих Windows forms, не так много — буквально одна только Visual Studio, более известная как просто «студия». Поэтому будем рассматривать создание и решение проблем именно в этой среде разработки. Первым шагом запустим студию, начнём создавать новый проект и попытаемся найти Windows forms проект для C++:
Создаём новый проект в студии
Ищем Winfows Forms для C++
Если у вас более старая версия Visual Studio, то интерфейс будет выглядеть немного иначе, однако данная функциональность будет той же. Также не исключено, что у Вас может быть данный тип проекта для C++ (на некоторых версиях формы для C++ были доступны сразу после установки IDE). Если же у Вас, как и у нас поиск не дал нужных результатов, то переходим к следующему шагу.
Шаг 1. Создание CLR проекта
Поскольку непосредственно Windows Forms проекта у нас не оказалось, мы обхитрим студию и создадим пустой CLR проект на С++. Для этого в том же окне поиска необходимо найти и выбрать Новый CLR проект
, ввести имя (если нужно, то поменять директорию расположения проекта) и немного подождать, пока студия сделает свою работу.
Ищем пустой CLR проект (.Net Framework)
Создаём новый пустой CLR проект
В результате Visual Stido создаст новый C++ CLR проект, который будет выглядеть примерно так:
Результат создания нового CLR проекта
Шаг 2. Добавить форму
Чтобы сделать CLR проект проектом Windows Forms, нужно просто добавить в него форму. Для этого в верхнем меню нужно выбрать Проект
— Добавить новый элемент
и в появившемся окне выбрать категорию Visual C++
— UI
и затем выбрать Форма Windows Forms
.
Проект -> Добавить новый элемент
Visual C++ -> UI -> Форма Windows Forms
После данной операции нас ждёт разочарование в виде ошибки Исключение из HRESULT: 0x8000000A
:
Вместо формы получили ошибку
Шаг 3. Исправляем появившуюся ошибку
Данная ошибка появляется из-за того, что для создания окна формы приложению необходима основная программа, создающая форму и переключающая управление на неё, однако после добавления новой формы файл Form1.cpp
предсказуемо создаётся пустым. Поэтому необходимо добавить основную программу в файл с формой:
#include "Form1.h" #include <Windows.h> using namespace имя_вашего_проекта; int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { Application::EnableVisualStyles(); Application::SetCompatibleTextRenderingDefault(false); Application::Run(gcnew Form1); return 0; }
В результате код файла Form1.cpp
будет выглядеть следующим образом:
Добавление основной программы к форме
Шаг 4. Переоткрыть проект
Всё, что теперь осталось сделать — это закрыть текущее решение, а затем открыть его снова. Для этого можно закрыть саму студию, а можно выбрать в верхнем меню Файл
— Закрыть решение
, после чего в появившемся окне выбрать только что созданный проект и открыть его заново.
Форма создалась, можно добавлять компоненты
Благодаря добавленному коду основной программы, студия сможет создать форму и на экране появится изображение формы, на которую можно будет добавлять компоненты, задавать их свойства, а также свойства самой формы.
Программист, сооснователь programforyou.ru, в постоянном поиске новых задач и алгоритмов
Языки программирования: Python, C, C++, Pascal, C#, Javascript
Выпускник МГУ им. М.В. Ломоносова