Библиотека классов платформы .Net Framework
Библиотека классов платформы .NET Framework представляет собой коллекцию типов, которые тесно интегрируются со средой CLR. Библиотека классов является объектно-ориентированной; предоставляя типы, из которых управляемый код пользователя может наследовать функции. Это не только упрощает работу с типами .NET Framework, но также уменьшает время, затрачиваемое на изучение новых средств платформы .NET Framework. Кроме того, компоненты независимых производителей можно легко объединять с классами платформы .NET Framework.
Например, в классах коллекций .NET Framework реализуется набор интерфейсов, которые можно использовать для разработки пользовательских классов коллекций. Пользовательские классы коллекций будут без затруднений объединяться с классами .NET Framework.
Как и ожидается от объектно-ориентированной библиотеки классов, типы .NET Framework позволяют решать типовые задачи программирования, включая работу со строками, сбор данных, подключения к базам данных и доступ к файлам. В дополнение к этим обычным задачам библиотека классов содержит типы, поддерживающие многие специализированные сценарии разработки. Например, можно использовать платформу .NET Framework для разработки следующих типов приложений и служб:
консольные приложения;
приложения с графическим интерфейсом пользователя Windows (Windows Forms);
приложения Windows Presentation Foundation (WPF);
приложения ASP.NET;
веб-службы;
службы Windows;
сервисноориентированные приложения с помощью Windows Communication Foundation (WCF);
приложения поддерживающие бизнес-процессы Windows Workflow Foundation (WF).
Например, классы Windows Forms представляют собой полный набор типов, существенно упрощающих разработку графических интерфейсов пользователя Windows. При написании приложения форм ASP.NET можно использовать классы Web Forms.
1Панель элементов (ToolBox) – магазин наиболее "ходовых" компонентов, используемых в приложениях. КомандаChooseToolboxItems(выбрать элементы) открывает "склад" всех доступных компонентов. Со склада можно перенести в магазин нужный компонент, отметив его галочкой. (прим. Фомина Г.В.)
2Здесь следует набрать имя кнопкиbutton1 вместоtest. По смыслу вызывается методPerformClick() именно той кнопки, имя которой по умолчаниюbutton1. (прим. Фомина Г.В.)
3Поместите на форму кнопку и в обработчик ее клика текст примера. Добавьте к тексту строкуText=anInteger.ToString(); Запустите программу. Введите вTextBoxкакое-нибудь целое число и щелкните по кнопке. Это покажет введенное число в заголовке окна. Если вместо целого числа ввести отвлеченный текст, то программа остановится по ошибке. (прим. Фомина Г.В.)
4МетодSelectимеет два параметра: первый определяет номер символа в строке, начиная с которого выделяется текст, а второй – число выделяемых символов. Попробуйте разные значения этих параметров. (прим. Фомина Г.В.)
5Добавьте к форме кнопку, и в обработчик ее клика вставьте код примера. (прим. Фомина Г.В.)
6Для создания обработчикаForm1_Load(обработчик события, наступающего вслед за загрузкой формы в память) дважды щелкните по поверхности формы, либо выберите событиеLoadна странице событий в окне свойств (Properties).
Объекты RichTextBoxпозволяют отображать файлы формата .rtf. Такие файлы можно получать из документов, набранных наWordи сохраненных в форматеrtf. Добавьте в тексте примера к строке "TextFiles|*.txt" строку "|RichTextFiles| *.rtf". Запустите программу и загрузите файл в форматеrtf. (прим. Фомина Г.В.).
7Предложение ошибочно. Следует читать"содержимое строк, указанных в коде добавляется". (прим. Фомина Г.В.)
8СобытияLoadдля объектов классаFormиSelectedIndexChangedдля объектов классаListBoxявляются событиями "по умолчанию". Поэтому достаточно дважды щелкнуть по поверхности формы, чтобы получить скелет обработчика событияLoad. То же дляListBox. (прим. Фомина Г.В.)
9Во-первых, по умолчанию имя меткиlabel1 (с малой буквы). В коде примера имяLabel1. Одно из имен – либо в коде, либо у метки надо изменить. Во-вторых, методdisplayTime() не будет работать, если его не вызвать. Это можно сделать, например, в обработчике событияLoadформы, либо в обработчике событияClickкнопки, помещенной на форму, набрав в нем оператор вызова методаdisplayTime();. (прим. Фомина Г.В.)
10Код этого примера можно внести в обработчик событияLoadформы. (прим. Фомина Г.В.).
11Код этого примера можно внести в обработчиксобытияClickкнопки, которую следует поместить на форму. (прим. Фомина Г.В.).
12Код примера можно внести в обработчик событияClickкнопки, которую следует добавить на форму. (прим. Фомина Г.В.).
13После запуска программы и наведения наtextBox1 курсора мышки должно открываться окно с подсказкой "Hello". (прим. Фомина Г.В.)
14После запуска программы и щелчка правой кнопкой над областьюtextBox1 должно появляться контекстное меню с тремя командами. (прим. Фомина Г.В.).
15Следует иметь в виду, что обработчик событияLoadформы должен быть получен стандартным методом – двойным щелчком по форме, либо выбором в окнеPropertiesна странице обработчиков. После этого в него следует поместить тот код, который написан в примере. Второй обработчик вновь созданного объектаMyTextBox(обработчик двойного клика) должен быть скопирован в код целиком, вместе с заголовком. После запуска приложения следует дважды щелкнуть по областиMyTextBox. (прим. Фомина Г.В.).
16Создайте консольное приложение. Затем измените имя классаProgramнаBookс помощью команды из менюRefactor. (прим. Фомина Г.В.).
17Записьxml-файла в этом коде следует направить по другому маршруту - в свой профиль. (прим. Фомина Г.В.)
18Создайте консольное приложение. Вставьте код в методMain. Измените маршрут считываемого файла. Добавьте в конце кода строкуConsole.ReadKey();. Последнее позволит задержать черное окно на экране до нажатия какой-либо клавиши. (прим. Фомина Г.В.)
19Создайте консольное приложение. Имя классаProgramизмените наBookс помощью команды из менюRefactor. Измените маршрут чтенияxml-файла. Перед словомclassдобавьте модификаторpublic. (прим. Фомина Г.В.)
20Для добавления ссылки следует в менюProject вызвать команду Add Reference…. На вкладке .NETпоявившегося окна найти и выбратьSystem.Windows.Forms.
21Код этого примера можно поместить в обработчик событияClickкнопки, помещенной на формую (прим. Фомина Г.В.).
22Код примера можно поместить в обработчик событияClickкнопки, помещенной на форму. Следует в конце кода дописать строку, освобождающую объектgraphicsвидаgraphics.Dispose();. (прим. Фомина Г.В.).
23МетодыDrawEllipseиDrawRectangle, описанные в коде, можно вызывать в обработчиках событияClickдвух кнопок, помещенных на форму (прим. Фомина Г.В.).
24Код примера можно поместить в обработчик событияClickкнопки, помещенной на форму. (прим. Фомина Г.В.).
25Код примера можно поместить в обработчик событияClickкнопки, помещенной на форму. (прим. Фомина Г.В.).
26Код примера можно поместить в обработчик событияClickкнопки, помещенной на форму. (прим. Фомина Г.В.).
27Послеобработчикаbutton1_Click(не удачный переводunder; в данном случае следовало перевестиниже, или после обработчика). (прим. Фомина Г.В.).
28Создайте консольное приложение. ВSolutionExplorerв разделReferencesприложения добавьте ссылку на пространство именSystem.Drawing. Скопируйте содержаниеMainиз примера в методMainнового проекта. Скопируйте любой файл с изображением и расширением .bmpв каталогDebugтолько что созданного проекта. Везде в коде вместоC:\testпоместите имя этого файла (прим. Фомина Г.В.).
29Добавьте ко вновь созданному проекту вторую форму, которая по умолчанию примет имяForm2. В формуForm2 добавьтеTextBox. В свойствоTextэтого компонента вбейте какой-нибудь текст. СвойствоModifiersэтого же компонента установите вpublic. Тогда он будет доступен главной формеForm1. В формуForm1 поместите свойTextBoxиButton. Создайте обработчик событияClickкноки. В этот обработчик внесите вызов методаGetOutherFormTextBox(), как указано в коде примера. Скопируйте оставшийся код непосредственно из примера. ИмяTextBox1 вotherForm.TextBox1 замените наtextBox1. (прим. Фомина Г.В.).
30Не копируйте код целиком в область описанияForm1!!!. Двойным щелчком по кнопке создайте обработчик событияClickкнопки и поместите в него код, указанный в примере. Остальную часть кода примера с описанием классаForm2 поместите вслед за обработчиком.
31Не удачный перевод терминаmarkupкак исправление. Лучший перевод – разметка. Т.о.XAMLэто расширяемый язык разметки для приложений. (прим. Фомина Г.В.)
32Если значение "Window1" свойстваTitleизменить на другое, то новое значение появится в заголовке окна. В данном примере это будет именноWPFApplication(но, не русский перевод ПриложениеWPF). (прим. Фомина Г.В.).
33Скопируйте файлNorthwind.mdf из указанного каталога в каталог, в котором Вы работаете, а затем уже через кнопку Brows (Обзор) выберите этот файл для подключения базы. (прим. Фомина Г.В.)
34В переводе ошибка. Читать следует «Если в начало программыневключена директиваusingSystem;…» и далее по тексту. (прим. Фомина Г.В.)
35Здесь и везде далее в конец кода консольного приложения рекомендуется добавлять строкуSystem.Console.ReadKey();Это остановит изображение окна на экране до нажатия какой-либо клавиши. (прим. Фомина Г.В.)
36Перевод этого раздела существенно мною переработан (Фомин Г.В.).
37Перевод раздела существенно мною переработан. Фомин Г.В.
38При создании объекта конструктор используется всегда. Поэтому верным будет перевод начала предложения как "В явной инициализации нет необходимости, …". (прим. Фомина Г.В.).
39Имеется в виду класс с именемProgram, создаваемый средой по умолчанию. Не обращайте внимания на имяClass1, упомянутое в тексте. (прим. Фомина Г.В.)
40Отредактируйте содержание классаProgram, открытого средой по умолчанию. Здесь классProgramназванMyClass, но это не принципиально. Не обращайте внимания на имяClass1, упомянутое в тексте. (прим. Фомина Г.В.)
41Более точным был бы перевод "Не используйте метод доступаgetдля изменения состояния объекта, как в приведенном ниже примере." (прим. Фомина Г.В.)
42Перевод не точен. "Так как вданнойструктуре отсутствуют <свои> методы, то объявление ее классом не несет преимуществ." Но и это не вполне верно, так как методToStringвсе таки есть. Лучше не обращать внимания на это замечание вовсе. Оно выглядит бессодержательным. (прим. Фомина Г.В.)
43Не обязательно ставить операторgoto. Достаточно разместить два оператораcase(илиcaseиdefault, как в этом примере) друг за другом, чтобы выполнялось предложение в обоих случаях. Проверьте этот факт в данном примере, поставив комментаторские символы // передgotodefault; (прим. Фомина Г.В.)
44Внесите указанный код внутрь методаMainконсольного приложения и добавьте, как и везде, строкуConsole.ReadKey(); (прим. Фомина Г.В.)
45Лучше сказать «псевдонимом» классаSystem.String. (прим. Фомина Г.В.)
46Опечатка. Результатом будет строка "ABCisgreaterthanabc", т.к. заглавные буквы имеют значения большие строчных (Прим. Фомина Г.В.)
47В этом примере массив символовdelimitсостоит из одного элемента – пробела. Символ вC# выделяется апострофами ', а не кавычками ", как строка. Поэтому в фигурных скобках определения массиваdelimitстоит символ ' ', т.е. пробел. (прим. Фомина Г.В.)
48Код, находящийся внутри методаTestList, скопируйте внутрь методаMainконсольного приложения. (прим. Фомина Г.В.)
i An integral Windows component that supports building, deploying, and running the next generation of applications and Web services. It provides a highly productive, standards-based, multilanguage environment for integrating existing investments with next generation applications and services, as well as the agility to solve the challenges of deployment and operation of Internet-scale applications. The .NET Framework consists of three main parts: the common language runtime, a hierarchical set of unified class libraries, and a componentized version of ASP called ASP.NET.
ii Units of application logic providing data and services to other applications. Applications access XML Web services using standard Web protocols and data formats such as HTTP, XML, and SOAP, independent of how each XML Web service is implemented. XML Web services combine the best aspects of both component-based development and the Web, and they are a cornerstone of the Microsoft .NET programming model.
iii The engine at the core of managed code execution. The runtime supplies managed code with services such as cross-language integration, code access security, object lifetime management, and debugging and profiling support.
iv A library of classes, interfaces, and value types that are included in the .NET Framework SDK. This library provides access to system functionality and is designed to be the foundation on which .NET Framework applications, components, and controls are built.
- Введение в язык c# и .Net Framework
- Язык c#
- Архитектура платформы .Net Framework
- Creating Your First c# Application
- To create a c# application
- Создание первого приложенияC#
- Создание приложения c#
- To create a c# console application
- Создание консольного приложения c#
- To create a c# Windows application
- Создание приложений Windows Forms на c#
- Introduction to Windows Presentation Foundation
- To create a wpf application
- Создание приложения wpf c#
- To create event handlers
- Создание обработчиков событий
- Designing a User Interface in Visual c#
- Adding Controls
- Создание пользовательского интерфейса в Visual c#
- Добавление элементов управления
- Setting Properties
- Handling Events
- Задание свойств
- Обработка событий
- How to: Use Button Controls
- Использование элемента управления "Button"
- To use buttons in a program
- Использование кнопок в программе
- How to: Call a Button's Click Event Programmatically
- To use buttons in a program
- Программный вызов события нажатия кнопки
- Использование кнопок в программе
- How to: Create a Group of Radio Buttons from a String Array
- Compiling the Code
- Example
- Создание группы переключателей из массива строк
- Создание непрямоугольной кнопки
- Компиляция кода
- How to: Display Text on a Windows Form
- To display text in a label
- Отображение текста в форме Windows Forms
- Отображение текста в надписи
- How to: Use TextBox Controls to Get User Input
- Использование элемента управления "TextBox" для получения вводимых данных
- To retrieve input typed in a text box
- Извлечение введенных в текстовое поле данных
- How to: Convert the Text in a TextBox Control to an Integer
- Диалоговые окна Извлечение данных из диалогового окна
- To create the main form of your application
- To create a dialog box
- Создание основной формы приложения
- Создание диалогового окна
- Retrieving Data from a Dialog Box
- To retrieve data from a dialog box.
- Извлечение данных из диалогового окна
- How to: Browse a Folder
- To display the folder browser dialog box
- Просмотр папки
- Отображение диалогового окна обозревателя папок
- How to: Save a File to a Folder
- To display the folder browser dialog box
- Сохранение файла в папку
- Отображение диалогового окна обозревателя папок
- How to: Display a List of Fonts
- To display the font dialog box
- Отображение списка шрифтов
- Отображение диалогового окна выбора шрифта
- How to: Display an OpenFileDialog Dynamically
- Отображение цветовой палитры
- Отображение диалогового окно выбора цвета
- ListBox and ComboBox Controls
- Compiling the Code
- Отображение даты и времени в приложении
- Отображение даты с помощью элемента управления "MonthCalendar"
- To display the time by using a DateTimePicker control
- Отображение времени с помощью элемента управления "DateTimePicker"
- How to: Determine the Span Between Two Dates
- Создание настраиваемого пользовательского интерфейса
- Добавление панелей инструментов в приложение Windows Forms
- To add a set of standard toolbar button
- Добавление набора стандартных кнопок панели инструментов
- How to: Create a Tooltip for a Control
- Compiling the Code
- Compiling the Code
- Добавление элементов управления Windows Forms во время выполнения
- Компиляция кода15
- Accessing and Displaying Data
- How to: Write Class Data to an xml File
- Example
- Compiling the Code
- Compiling the Code
- Robust Programming
- Чтение xml из файла
- Пример18
- Компиляция кода
- Надежное программирование
- How to: Read Class Data from an xml File
- Example
- Compiling the Code
- Robust Programming
- Чтение данных класса из xml-файла
- Пример19
- Компиляция кода
- Compiling the Code
- Компиляция кода
- Compiling the Code
- Robust Programming
- Рисование кривой в форме
- Компиляция кода
- Надежное программирование
- How to: Draw Outlined Shapes
- Example
- Compiling the Code
- Robust Programming
- Рисование контурных фигур
- Пример23
- Компиляция кода
- Добавление файлов мультимедиа в приложение
- Внедрение проигрывателя Windows Media в форму
- Добавление элемента управления "Windows Media Player" в панель элементов.
- To add the Windows Media Player control to a Windows Form
- Добавление элемента управления "Windows Media Player" в форму Windows Forms
- How to: Play Sounds in an Application
- To play an audio file
- Воспроизведение звука в приложении
- Воспроизведение аудиофайла
- Creating and Using Bitmaps and Icons
- How to: Create a Bitmap at Run Time
- Example
- Создание и использование точечных рисунков и значков
- Создание точечного рисунка во время выполнения
- Compiling the Code
- Compiling the Code
- Создание приложений wpf
- Создание пользовательского интерфейса для приложения wpf
- To create a wpf application
- Создание приложения wpf
- Adding Controls to the wpf Window You can add controls to the wpf window by dragging them from the Toolbox. To add a control to the wpf window
- Добавление элементов управления в окно wpf
- Добавление элемента управления в окно wpf
- Common wpf Controls
- Procedure To add a control to the wpf window
- Стандартные элементы управления wpf
- Процедура Добавление элемента управления в окно wpf
- Standard wpf Controls
- Стандартные элементы управления wpf
- How to: Create Event Handlers for wpf Controls
- To create an event handler for a button
- Создание обработчиков событий для элементов управления wpf
- Создание обработчика событий для кнопки
- Connecting to Data
- How to: Connect to a Database
- To add a connection to the Northwind database
- Подключение к данным
- Подключение к базе данных
- Добавление подключения к базе данных "Northwind"
- How to: Display Related Data on a Form
- To display related data on a form
- Отображение связанных данных в форме
- Отображение связанных данных в форме
- Using linq in c# Express
- Advantages of Using linq
- Использование linq в c# Express
- Преимущества использования linq
- C# Language Enhancements that Support linq
- Расширения языка c# для поддержки linq
- Writing linq Queries
- Linq to Objects
- Написание запросов linq
- Linq to Objects
- Linq to sql
- Linq to DataSet
- Linq to xml
- Linq to sql
- Linq to DataSet
- ЯзыкC# для начинающих Структура программы c#
- "Hello World" в стиле c#
- Using Directives and Namespaces
- Comments
- Директивыusingи пространства имен
- Комментарий
- Classes
- Console Input and Output
- Консольный ввод и вывод
- Program Structure and Flow of Execution
- Windows Forms Applications
- Структура программы и ход выполнения
- Приложения Windows Forms36
- Console Applications
- Namespaces
- Консольные приложения
- Пространства имен
- Namespace Shortcuts
- Creating Your Own Namespace
- Ускоренный доступ к содержимому пространства имен
- Создание собственного пространства имен
- Example
- Classes
- Classes vs. Objects
- Классы и объекты
- Static vs. Instance Members
- Classes vs. Files
- Члены экземпляра и статические члены37
- Классы и файлы
- Encapsulation
- Инкапсуляция
- Inheritance
- Polymorphism
- Наследование
- Полиморфизм
- Constructors
- Конструкторы
- Operator Overloading
- Compiling the Code
- Имитация параметров по умолчанию
- Компиляция кода
- Переменные и константы
- Constants
- Built-in Data Types
- Константы
- Встроенные типы данных
- Using Built-in Data Types
- Типы значений и ссылочные типы
- Boxing and Unboxing
- Упаковка и распаковка
- Performance issues
- Проблемы производительности
- Operators
- Decisions and Branching
- Remarks
- Выбор и ветвление
- Foreach Loops
- Циклы foreach
- For Loops
- Working with Strings
- Доступ к отдельным знакам
- Changing Case
- Смена регистра
- Comparisons
- Сравнения
- Splitting a String into Substrings
- Разделение строки на подстроки
- Using StringBuilder
- Использование класса StringBuilder
- How to: Generate Multiline String Literals
- Массивы и коллекции
- Массивы
- Одномерные массивы
- Multidimensional Arrays
- Jagged Arrays
- Многомерные массивы
- Массивы массивов
- Using the foreach Statement
- Использование оператора foreach
- Arrays of Objects
- Массивы объектов
- How to: Declare an Array
- Compiling the Code
- Robust Programming
- Инициализация массива
- Компиляция кода
- Коллекции
- How to: Iterate Through an Array
- Compiling the Code
- Компиляция кода
- Enumerations
- Перечисления
- More Advanced Enumeration Techniques
- Try and Catch
- Обработка ошибок и исключений
- Try и Catch
- Finally Blocks
- Using Exception Handling
- You can also cause your own exceptions using the throw keyword.
- Блоки finally
- How to: Catch an Exception
- Example
- Compiling the Code
- Перехват исключения
- Компиляция кода
- .Net Framework Conceptual Overview
- Общие сведения об основных понятиях платформы .Net Framework
- Features of the Common Language Runtime
- Возможности среды clr
- .Net Framework Class Library
- Библиотека классов платформы .Net Framework