Что такое namespace system windows forms

Содержание
  1. System. Windows. Forms. Integration Пространство имен
  2. Классы
  3. Делегаты
  4. Комментарии
  5. Обзор пространства имен System.Windows.Forms
  6. Читайте также
  7. 1.4. Пространства имен
  8. Пользовательские пространства имен
  9. Интерфейсы из пространства имен System.Collections
  10. Классы из пространства имен System.Collections
  11. Исследование пространства имен System.Reflection.Emit
  12. Анализ пространства имен System.IO
  13. ГЛАВА 19. Создание окон с помощью System.Windows.Forms
  14. Обзор пространства имен System.Drawing
  15. Обзор пространства имен System.Drawing.Drawing2D
  16. Пространства имен ASP.NET 2.0
  17. Пространства имен
  18. 2.7. Использование пространства имен
  19. 8.5. Определения пространства имен А
  20. 8.5.1. Определения пространства имен
  21. Пространства имен в Visual Basic Namespaces in Visual Basic
  22. Предотвращение конфликтов имен Avoiding Name Collisions
  23. полные имена Fully Qualified Names
  24. Операторы уровня пространства имен Namespace Level Statements
  25. Ключевое слово Global в полных именах Global Keyword in Fully Qualified Names
  26. Ключевое слово Global в операторах пространства имен Global Keyword in Namespace Statements

System. Windows. Forms. Integration Пространство имен

Содержит классы, предназначенные для поддержки взаимодействия элементов управления Windows Forms и WPF. Contains classes that support interoperation of Windows Forms and WPF controls.

Классы

Предоставляет данные для событий ChildChanged и ChildChanged . Provides data for the ChildChanged and ChildChanged events.

Элемент управления Windows Forms, который может использоваться для размещения элемента Windows Presentation Foundation (WPF). A Windows Forms control that can be used to host a Windows Presentation Foundation (WPF) element.

Предоставляет базовый класс для классов EventArgs, поддерживающих необязательный выброс исключений. Provides a base class for EventArgs classes which support optionally raising exceptions.

Предоставляет данные для события LayoutError. Provides data for the LayoutError event.

Предоставляет способ преобразования значений свойств между элементами Windows Forms controls и Windows Presentation Foundation (WPF). Provides a way to translate property values between Windows Forms controls and Windows Presentation Foundation (WPF) elements.

Предоставляет данные для события PropertyMappingError. Provides data for the PropertyMappingError event.

Элемент, который позволяет размещать элемент управления Windows Forms на странице WPF. An element that allows you to host a Windows Forms control on a WPF page.

Делегаты

Предоставляет функцию преобразования для сопоставляемого свойства родительского элемента управления. Provides a translation function for a mapped property of the host control.

Комментарии

System.Windows.Forms.IntegrationПространство имен содержит классы, обеспечивающие взаимодействие между Windows Forms и технологиями WPF. The System.Windows.Forms.Integration namespace contains classes that enable interoperation between the Windows Forms and WPF technologies. При использовании System.Windows.Forms.Integration классов можно размещать элементы управления Windows Forms на страницах WPF, а элементы WPF — в приложениях на основе Windows Forms. When you use System.Windows.Forms.Integration classes, you can host Windows Forms controls on WPF pages, and WPF elements in Windows Forms-based applications.

Двумя ключевыми классами, реализующими возможности взаимодействия, являются WindowsFormsHost и ElementHost . The two key classes that implement interoperation capabilities are WindowsFormsHost and ElementHost. Используемый класс зависит от реализации элемента управления: Which class you use depends on your control implementation:

Используйте WindowsFormsHost класс, если необходимо использовать элемент управления Windows Forms на странице WPF. Use the WindowsFormsHost class when you must use a Windows Forms control on a WPF page.

Используйте ElementHost класс, если необходимо использовать элемент WPF в приложении на основе Windows Forms. Use the ElementHost class when you must use a WPF element in a Windows Forms-based application.

Обзор пространства имен System.Windows.Forms

Обзор пространства имен System.Windows.Forms

Как и любое другое пространство имен, System.Windows.Forms компонуется из различных классов, структур, делегатов, интерфейсов и перечней. Хотя различие между консольным (CUI) и графическим (GUI) интерфейсами, на первый взгляд, кажется подобным различию между ночью и днем, фактически для создания приложения Windows Forms необходимо только освоение правил манипуляции новым множеством типов с использованием того синтаксиса CIL, который вы уже знаете. С высокоуровневой точки зрения, сотни типов пространства имен System.Windows.Forms можно объединить в следующие большие категории.

• Базовая инфраструктура. Это типы, представляющие базовые операции программы .NET Forms (Form, Application и т.д.), а также различные типы, обеспечивающие совместимость с разработанными ранее элементами управления ActiveX.

Элементы управления. Все типы, используемые для создания пользовательского интерфейса (Button, MenuStrip, ProgressBar, DataGridView и т.д.), являются производными базового класса Control. Элементы управления конфигурируются в режиме проектирования и оказываются видимыми (по умолчанию) во время выполнения.

Компоненты. Это типы, не являющиеся производными базового класса Control, но тоже предлагающие визуальные инструменты (ToolTip, ErrorProvider и т.д.) для программ .NET Forms. Многие компоненты (например, Timer) во время выполнения невидимы, но они могут конфигурироваться визуально в режиме проектирования.

Диалоговые окна общего вида. Среда Windows Forms предлагает целый ряд стандартных заготовок диалоговых окон для выполнения типичных действий (OpenFileDialog, PrintDialog и т.д.). Кроме того, вы можете создавать свои собственные пользовательские диалоговые окна, если стандартные диалоговые окна по какой-то причине вам не подойдут.

Поскольку общее число типов в System.Windows.Forms намного больше 100, кажется нерациональным (даже с точки зрения экономии бумаги) предлагать здесь описание всех элементов семейства Windows Forms. В табл. 19.1 описаны наиболее важные из типов System.Windows.Forms, предлагаемых в .NET 2.0 (все подробности можно найти в документации .NET Framework 2.0 SDK).

Таблица 19.1. Базовые типы пространства имен System.Windows.Forms

Классы Описание Application Класс, инкапсулирующий средства поддержки Windows Forms, необходимые любому приложению Button, CheckBox, ComboBox, DateTimePicker, ListBox, LinkLabel, MaskedTextBox, MonthCalendar, PictureBox, TreeView Классы, которые (вместе со многими другими классами) определяют различные GUI-элементы. Многие из этих элементов подробно будут рассмотрены в главе 21 FlowLayoutPanel, TableLayoutPanel Платформа .NET 2.0 предлагает целый набор «администраторов оформления», выполняющих автоматическую корректировку размещения элементов управления в форме при изменении ее размеров Form Тип, представляющий главное окно, диалоговое окно или дочернее окно MDI в приложении Windows Forms ColorDialog, OpenFileDialog, SaveFileDialog, FontDialog, PrintPreviewDialog, FolderBrowserDialog Представляют различные диалоговые окна, соответствующие стандартным операциям в рамках GUI Menu, MainMenu, MenuItem, ContextMenu, MenuStrip, ContextMenuStrip Типы, используемые для построения оконных и контекстно-зависимых систем меню. Новые (появившиеся в .NET 2.0) элементы управления MenuStrip и ContextMenuStrip позволяют строить меню, содержащие как традиционные пункты меню, так и другие элементы управления (окна текста, комбинированные окна и т.д.) StatusBar, Splitter, ToolBar, ScrollBar, StatusStrip, ToolStrip Типы, используемые для добавления в форму стандартных элементов управления

Читайте также:  Windows 10 enterprise 64 bit ltsc v2019

Замечание. Вдобавок к System.Windows.Forms, компоновочный блок System.Windows. Forms.dll определяет и другие пространства имен, предназначенные для поддержки элементов графического интерфейса пользователя. Соответствующие дополнительные типы используются, в основном, внутренними механизмами создания форм и/или разработки Visual Studio 2005. По этой причине мы ограничимся рассмотрением базового пространства имен System.Windows.Forms.

Читайте также

1.4. Пространства имен

1.4. Пространства имен Если два неродственных процесса используют какой-либо вид IPC для обмена информацией, объект IPC должен иметь имя или идентификатор, чтобы один из процессов (называемый обычно сервером — server) мог создать этот объект, а другой процесс (обычно один или

Пользовательские пространства имен

Пользовательские пространства имен До этого момента мы создавали небольшие тестовые программы, используя пространства имен, существующие в среде .NET (в частности, пространство имен System). Но иногда при создании приложения бывает удобно объединить связанные типы в одном

Интерфейсы из пространства имен System.Collections

Интерфейсы из пространства имен System.Collections В качестве самого примитивного контейнера может выступать тип System.Array. В главе 3 было показано, что класс System.Array предлагает целый ряд соответствующих возможностей (таких, как инвертирование, сортировка, очистка и перечисление).

Классы из пространства имен System.Collections

Классы из пространства имен System.Collections Еще раз подчеркнем, что интерфейсы остаются бесполезными до тех пор, пока они не реализованы соответствующим классом или соответствующей структурой. В табл. 7.3 предлагаются описания основных классов из пространства имен System.Collections

Исследование пространства имен System.Reflection.Emit

Исследование пространства имен System.Reflection.Emit Для создания динамического компоновочного блока требуется в определенной мере понимать коды операций CIL, но типы пространства имен System.Reflection. Emit в максимальной мере «пытаются» скрыть сложность CIL. Например, вместо прямого

Анализ пространства имен System.IO

Анализ пространства имен System.IO В .NET пространство имен System.IO является той частью библиотек базовых адресов, которая обслуживает службы ввода-вывода, как для файлов, так и для памяти. Подобно любому другому пространству имен, System.IO определяет свой набор классов,

ГЛАВА 19. Создание окон с помощью System.Windows.Forms

ГЛАВА 19. Создание окон с помощью System.Windows.Forms Если вы прочитали предыдущие 18 глав, вы должны иметь солидную базу дли использования языка программирования C# и архитектуры .NET. Вы, конечно же, можете применить полученные знания для построения консольных приложений следующего

Обзор пространства имен System.Drawing

Обзор пространства имен System.Drawing Большинство типов, которые вам придется использовать при создании GDI-приложений, содержится в пространстве имен System.Drawing. Как и следует ожидать, здесь есть классы, представляющие изображения, кисти, перья и шрифты. Кроме того, System.Drawing

Обзор пространства имен System.Drawing.Drawing2D

Обзор пространства имен System.Drawing.Drawing2D Теперь, когда мы обсудили возможности использования типа Font, следующей нашей задачей будет рассмотрение объектов Pen и Brush, предназначенных для визуализации геометрических шаблонов. Вы, конечно, можете ограничиться использованием

Пространства имен ASP.NET 2.0

Пространства имен ASP.NET 2.0 В библиотеках базовых классов .NET 2.0 предлагается не менее 34 пространств имен, имеющих отношение к Web. Всю эту совокупность пространств имен можно разбить на четыре главные группы.• Базовые функциональные возможности (типы, обеспечивающие

Пространства имен

Пространства имен В программе на языке Си имена (идентификаторы) используются для ссылок на различного рода объекты — функции, переменные, формальные параметры и т. п. При соблюдении определенных правил, описанных в данном разделе, допускается использование одного и

2.7. Использование пространства имен

2.7. Использование пространства имен Предположим, что мы хотим предоставить в общее пользование наш класс Array, разработанный в предыдущих примерах. Однако не мы одни занимались этой проблемой; возможно, кем-то где-то, скажем, в одном из подразделений компании Intel был

8.5. Определения пространства имен А

8.5. Определения пространства имен А По умолчанию любой объект, функция, тип или шаблон, объявленный в глобальной области видимости, также называемой областью видимости глобального пространства имен, вводит глобальную сущность. Каждая такая сущность обязана иметь

8.5.1. Определения пространства имен

8.5.1. Определения пространства имен Определение пользовательского пространства имен начинается с ключевого слова namespace, за которым следует идентификатор. Он должен быть уникальным в той области видимости, в которой определяется данное пространство; наличие другой

Пространства имен в Visual Basic Namespaces in Visual Basic

Пространства имен упорядочивают объекты, определенные в сборке. Namespaces organize the objects defined in an assembly. Сборки могут содержать несколько пространств имен, которые, в свою очередь, могут содержать другие пространства имен. Assemblies can contain multiple namespaces, which can in turn contain other namespaces. Пространства имен предотвращают неоднозначность и упрощают ссылки при использовании больших групп объектов, таких как библиотеки классов. Namespaces prevent ambiguity and simplify references when using large groups of objects such as class libraries.

Например, платформа .NET Framework определяет ListBox класс в System.Windows.Forms пространстве имен. For example, the .NET Framework defines the ListBox class in the System.Windows.Forms namespace. В следующем фрагменте кода показано, как объявить переменную, используя полное имя для этого класса: The following code fragment shows how to declare a variable using the fully qualified name for this class:

Читайте также:  Второй экран windows 10 wifi

Предотвращение конфликтов имен Avoiding Name Collisions

Платформа .NET Framework пространства имен устраняют проблему, которая иногда называется засорением пространства имен, при которой разработчик библиотеки классов страдает от использования аналогичных имен в другой библиотеке. .NET Framework namespaces address a problem sometimes called namespace pollution, in which the developer of a class library is hampered by the use of similar names in another library. Такие конфликты с существующими компонентами иногда называют конфликтами имен. These conflicts with existing components are sometimes called name collisions.

Например, если вы создаете новый класс ListBox , то можете использовать его внутри проекта без уточнения. For example, if you create a new class named ListBox , you can use it inside your project without qualification. Однако если вы хотите использовать ListBox класс платформа .NET Framework в том же проекте, необходимо использовать полную ссылку, чтобы сделать ссылку уникальной. However, if you want to use the .NET Framework ListBox class in the same project, you must use a fully qualified reference to make the reference unique. Если ссылка не является уникальной, Visual Basic выдает ошибку, сообщающую, что имя неоднозначно. If the reference is not unique, Visual Basic produces an error stating that the name is ambiguous. В примере кода ниже показано, как объявить эти объекты: The following code example demonstrates how to declare these objects:

На следующем рисунке показаны две иерархии пространства имен, содержащие объект с именем ListBox : The following illustration shows two namespace hierarchies, both containing an object named ListBox :

По умолчанию каждый исполняемый файл, созданный с помощью Visual Basic, содержит пространство имен с тем же именем, что и у проекта. By default, every executable file you create with Visual Basic contains a namespace with the same name as your project. Например, если вы определяете объект в проекте ListBoxProject , то исполняемый файл ListBoxProject.exe содержит пространство имен ListBoxProject . For example, if you define an object within a project named ListBoxProject , the executable file ListBoxProject.exe contains a namespace called ListBoxProject .

Несколько сборок могут использовать одно и то же пространство имен. Multiple assemblies can use the same namespace. Visual Basic обрабатывает их как единый набор имен. Visual Basic treats them as a single set of names. Например, можно определить классы для пространства имен SomeNameSpace в сборке Assemb1 , а также определить дополнительные классы для того же пространства имен из сборки Assemb2 . For example, you can define classes for a namespace called SomeNameSpace in an assembly named Assemb1 , and define additional classes for the same namespace from an assembly named Assemb2 .

полные имена Fully Qualified Names

Полные имена — это ссылки на объекты, имеющие префикс в виде имени пространства имен, в котором определен объект. Fully qualified names are object references that are prefixed with the name of the namespace in which the object is defined. Вы можете использовать объекты, определенные в других проектах, если создадите ссылку на класс (выбрав Добавить ссылку в меню Проект ) и затем используете полное имя объекта в коде. You can use objects defined in other projects if you create a reference to the class (by choosing Add Reference from the Project menu) and then use the fully qualified name for the object in your code. В следующем фрагменте кода показано, как использовать полное имя объекта из пространства имен другого проекта: The following code fragment shows how to use the fully qualified name for an object from another project’s namespace:

Полные имена предотвращают возникновение конфликтов имен, так как позволяют компилятору определить, какой именно объект используется. Fully qualified names prevent naming conflicts because they make it possible for the compiler to determine which object is being used. Однако сами эти имена могут получиться длинными и громоздкими. However, the names themselves can get long and cumbersome. Чтобы обойти эту проблему, можно использовать оператор Imports для определения псевдонима— сокращенного имени, которое можно применить вместо полного имени. To get around this, you can use the Imports statement to define an alias—an abbreviated name you can use in place of a fully qualified name. Например, в следующем примере кода создаются псевдонимы для двух полных имен, которые затем используются для определения двух объектов. For example, the following code example creates aliases for two fully qualified names, and uses these aliases to define two objects.

Если вы применяете оператор Imports без псевдонима, можно использовать все имена в данном пространстве имен без уточнения при условии, что они являются уникальными в данном проекте. If you use the Imports statement without an alias, you can use all the names in that namespace without qualification, provided they are unique to the project. Если проект содержит операторы Imports для пространств имен, где есть элементы с одинаковым именем, необходимо полностью уточнять это имя. If your project contains Imports statements for namespaces that contain items with the same name, you must fully qualify that name when you use it. Предположим, что проект содержал два следующих оператора Imports : Suppose, for example, your project contained the following two Imports statements:

При попытке использовать Class1 без полного указания этого имени Visual Basic выдает ошибку, сообщающую, что имя Class1 неоднозначно. If you attempt to use Class1 without fully qualifying it, Visual Basic produces an error stating that the name Class1 is ambiguous.

Читайте также:  Брандмауэру windows код ошибки 0x6d9

Операторы уровня пространства имен Namespace Level Statements

В пространстве имен можно определить такие элементы, как модули, интерфейсы, классы, делегаты, перечисления, структуры и другие пространства имен. Within a namespace, you can define items such as modules, interfaces, classes, delegates, enumerations, structures, and other namespaces. Вы не можете определить такие элементы, как свойства, процедуры, переменные и события, на уровне пространства имен. You cannot define items such as properties, procedures, variables and events at the namespace level. Их следует объявить внутри контейнеров, таких как модули, структуры или классы. These items must be declared within containers such as modules, structures, or classes.

Ключевое слово Global в полных именах Global Keyword in Fully Qualified Names

Если вы определили вложенную иерархию пространств имен, доступ кода внутри этой иерархии к пространству имен System платформы .NET Framework может быть заблокирован. If you have defined a nested hierarchy of namespaces, code inside that hierarchy might be blocked from accessing the System namespace of the .NET Framework. В следующем примере показана иерархия, где пространство имен SpecialSpace.System блокирует доступ к System. The following example illustrates a hierarchy in which the SpecialSpace.System namespace blocks access to System.

В результате компилятору Visual Basic не удается разрешить успешно ссылку в System.Int32, так как SpecialSpace.System не определяет Int32 . As a result, the Visual Basic compiler cannot successfully resolve the reference to System.Int32, because SpecialSpace.System does not define Int32 . Можно использовать ключевое слово Global для запуска цепочки квалификации на самом внешнем уровне библиотеки классов .NET Framework. You can use the Global keyword to start the qualification chain at the outermost level of the .NET Framework class library. Это позволяет указать пространство имен System или любое другое пространство имен в библиотеке классов. This allows you to specify the System namespace or any other namespace in the class library. Это показано в следующем примере. The following example illustrates this.

Можно использовать Global для доступа к другим пространствам имен корневого уровня, таким как Microsoft.VisualBasic, и любому пространству имен, сопоставленному с проектом. You can use Global to access other root-level namespaces, such as Microsoft.VisualBasic, and any namespace associated with your project.

Ключевое слово Global в операторах пространства имен Global Keyword in Namespace Statements

Можно также использовать ключевое слово Global в Namespace Statement. You can also use the Global keyword in a Namespace Statement. Это позволяет определить пространство имен из корневых пространств имен проекта. This lets you define a namespace out of the root namespace of your project.

Все пространства имен в проекте основаны на его корневом пространстве имен. All namespaces in your project are based on the root namespace for the project. Visual Studio назначает имя проекта в качестве корневого пространства имен по умолчанию для всего кода в проекте. Visual Studio assigns your project name as the default root namespace for all code in your project. Например, если проект называется ConsoleApplication1 , его программные элементы относятся к пространству имен ConsoleApplication1 . For example, if your project is named ConsoleApplication1 , its programming elements belong to namespace ConsoleApplication1 . При объявлении Namespace Magnetosphere ссылки на Magnetosphere в проекте будут обращаться к ConsoleApplication1.Magnetosphere . If you declare Namespace Magnetosphere , references to Magnetosphere in the project will access ConsoleApplication1.Magnetosphere .

В следующих примерах используется ключевое слово Global для объявления пространства имен из корневого пространства имен для проекта. The following examples use the Global keyword to declare a namespace out of the root namespace for the project.

В объявлении пространства имен Global не может быть вложенным в другое пространство имен. In a namespace declaration, Global cannot be nested in another namespace.

Вы можете использовать Application Page, Project Designer (Visual Basic) для просмотра и изменения значения Корневое пространство имен проекта. You can use the Application Page, Project Designer (Visual Basic) to view and modify the Root Namespace of the project. Для новых проектов параметру Корневое пространство имен по умолчанию присваивается имя проекта. For new projects, the Root Namespace defaults to the project name. Чтобы сделать Global пространством имен верхнего уровня, можно очистить запись Корневое пространство имен , оставив поле пустым. To cause Global to be the top-level namespace, you can clear the Root Namespace entry so that the box is empty. Очистка значения Корневое пространство имен избавляет от необходимости использовать ключевое слово Global в объявлениях пространств имен. Clearing Root Namespace removes the need for the Global keyword in namespace declarations.

Когда оператор Namespace объявляет имя, которое также является пространством имен в платформе .NET Framework, пространство имен .NET Framework станет недоступным, если в полном имени не используется ключевое слово Global . If a Namespace statement declares a name that is also a namespace in the .NET Framework, the .NET Framework namespace becomes unavailable if the Global keyword is not used in a fully qualified name. Для обеспечения доступа к пространству имен .NET Framework без использования ключевого слова Global можно включить ключевое слово Global в оператор Namespace . To enable access to that .NET Framework namespace without using the Global keyword, you can include the Global keyword in the Namespace statement.

Оцените статью