Properties windows visual studio

Properties Window Overview

The Properties window is used to display properties for objects selected in the two main types of windows available in the Visual Studio integrated development environment (IDE). These two types of windows are:

Tool windows such as Solution Explorer, Class View, and Object browser

Document windows containing such editors and designers as the forms designer, XML editor, and HTML editor

Using the Properties Window

The Properties window displays the properties of single or multiple selected items. If multiple items are selected, the intersection of all properties for all selected objects is displayed.

Events related to a selected object within a form design window or HTML editor using COM+ metadata are displayed in the Properties window. For example, you can select a button and display its associated events, such as an OnClick event, which can be linked to that button.

Events displayed in the Properties window are primarily used with objects that are bound to code. If you are editing a file format that does not have anything to do with code, you are not going to have any events. Events are only displayed in the Properties window when there is a binding between running code and certain events associated with specific objects. An example of this would be code behind a selected object that executes when that object is activated.

The following table lists the primary interfaces used by the Properties window.

Interface Name Description
ICategorizeProperties Provides a list of categories to the Properties window and maps each property to a category.
IDispatch Interface Exposes an object’s methods and properties to programming tools and other applications that support automation.
IProvidePropertyBuilder Provides ellipsis (. ) buttons called builders that open modal dialog windows implemented by the object itself. Used when a value is not easily typed by the user in a text field. For example, it might be used to open a color picker that determines the RGB value for you.
ISelectionContainer Provides access to objects used to update information displayed in the Properties window. ISelectionContainer is implemented by VSPackages for each window that contains selectable objects with related properties to be displayed.
ITypeInfo Provides information about the type of an object such as methods of an interface and fields of a structure.
IVsMonitorSelection Enables VSPackages to receive notification of selection events and to retrieve information about the current project hierarchy, item, element value, and command UI context.
IVsMultiItemSelect Provides the environment with access to multiple selections.
IVsPerPropertyBrowsing Used to provide localized names on some properties displayed in the Properties window.
IVsSelectionEvents Notifies registered VSPackages of changes to the current selection, element value, or command UI context.
IVsTrackSelectionEx Notifies the environment of a change in the current selection and provides access to hierarchy and item information relating to the new selection.

For further information on IDispatch , see the MSDN library.

Управление свойствами проектов и решений Manage project and solution properties

У проектов есть свойства, которые определяют различные аспекты компиляции, отладки, тестирования и развертывания. Projects have properties that govern many aspects of compilation, debugging, testing and deploying. Некоторые свойства являются общими для всех типов проектов, а некоторые — уникальными для конкретных языков или платформ. Some properties are common among all project types, and some are unique to specific languages or platforms. Чтобы получить доступ к свойствам проекта, в обозревателе решений щелкните правой кнопкой мыши узел проекта и выберите пункт Свойства либо введите слово свойства в поле поиска в строке меню и выберите окно Свойства в результатах. You access project properties by right-clicking the project node in Solution Explorer and choosing Properties or by typing properties into the search box on the menu bar and choosing Properties Window from the results.

Проекты .NET также могут содержать узел свойств в дереве проекта. .NET projects might also have a properties node in the project tree itself.

Этот раздел относится к Visual Studio в Windows. This topic applies to Visual Studio on Windows. Информацию о Visual Studio для Mac см. в статье Управление свойствами решения и проекта (Visual Studio для Mac). For Visual Studio for Mac, see Managing solution and project properties (Visual Studio for Mac).

Свойства проекта Project properties

Свойства проекта упорядочены по группам. У каждой группы есть собственная страница свойств. Project properties are organized into groups, and each group has its own property page. Страницы могут различаться для разных языков и типов проектов. The pages might be different for different languages and project types.

Проекты C#, Visual Basic и F# C#, Visual Basic, and F# projects

В проектах C#, Visual Basic и F# свойства отображаются в конструкторе проектов. In C#, Visual Basic, and F# projects, properties are exposed in the Project Designer. На следующем рисунке показана страница свойств Сборка для проекта WPF на C#: The following illustration shows the Build property page for a WPF project in C#:

Сведения о каждой из страниц свойств в конструкторе проектов см. в разделе Справочник по свойствам проектов. For information about each of the property pages in Project Designer, see Project properties reference.

У решений есть несколько свойств, как и у элементов проекта. Эти свойства доступны в окне свойств, а не в конструкторе проектов. Solutions have a few properties, and so do project items; these properties are accessed in the Properties window, not Project Designer.

Проекты C++ и JavaScript C++ and JavaScript projects

Проекты C++ и JavaScript имеют другой пользовательский интерфейс для управления свойствами проекта. C++ and JavaScript projects have a different user interface for managing project properties. На этом рисунке показана страница свойств проекта C++ (страницы JavaScript выглядят аналогичным образом). This illustration shows a C++ project property page (JavaScript pages are similar):

Сведения о свойствах проекта C++ см. в разделе Работа со свойствами проектов (C++). For information about C++ project properties, see Work with project properties (C++). Дополнительные сведения о свойствах JavaScript см. в разделе Страницы свойств (JavaScript). For more information about JavaScript properties, see Property pages, JavaScript.

Свойства решения Solution properties

Для доступа к свойствам решения щелкните правой кнопкой мыши узел решения в обозревателе решений и выберите пункт Свойства. To access properties on the solution, right click the solution node in Solution Explorer and choose Properties. В открывшемся диалоговом окне можно задать параметры проекта для сборки отладки или выпуска, указать, какие проекты должны запускаться при нажатии клавиши F5, а также задать параметры анализа кода. In the dialog, you can set project configurations for Debug or Release builds, choose which projects should be the startup project when F5 is pressed, and set code analysis options.

Окно Properties в Visual Studio

Одно из наиболее часто используемых инструментальных окон в системе Visual Studio 2013 — окно Properties ( F4 ), показанное на рисунке ниже. Окно Properties состоит из сетки свойств и является контекстно-зависимым, отображая только релевантные свойства выделенного элемента, независимо от того, является ли этот элемент узлом в окне Solution Explorer или элементом формы. Каждая строка отображает свойство, имеющее имя и соответствующее значение, записанные в двух столбцах. На рисунке ниже показана обновленная сетка свойств для приложений WPF, содержащая пиктограмму предварительного просмотра и возможности поиска.

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

Для веб- и WPF-приложений набор свойств в окне Properties сохраняется в виде файлов разметки с расширением *.aspx или *.xaml соответственно. Как и в проектировщике форм Windows, в окне Properties отображаются только те свойства, которые постоянно хранятся в файле разметки.

Окно Properties предлагает средства для подключения обработчиков событий в виде кнопки со значком молнии в правом верхнем углу.

Расширение окна Properties

В проектах Window Forms система Visual Studio 2013 выделяет свойства, подлежащие изменению, полужирным шрифтом. У вас должен был возникнуть вопрос: откуда система Visual Studio 2013 знает, каким должно быть значение по умолчанию? Ответ заключается в том, что когда окно Properties просматривает объект, чтобы определить, какие свойства должны отражаться в сетке свойств, она перебирает большое количество атрибутов проекта. Эти атрибуты можно использовать для управления отображением свойств, выбора редактора, который должен использоваться для изменения значений, а также для выбора значения, заданного по умолчанию.

Для того чтобы показать, как можно использовать эти атрибуты для создания своих собственных компонентов, начнем с добавления простого элемента управления WPF, унаследованного от Button и имеющего одно автоматическое свойство:

Давайте добавим этот элемент в окно MainWindow.xaml:

На рисунке ниже показано новое свойство Description в окне Properties. Чтобы быстрее его найти среди других свойств, я воспользовался поиском:

Атрибут Browsable

По умолчанию в сетке свойств отображаются все открытые свойства. Однако вы можете явно управлять его поведением, добавив атрибут Browsable (из пространства имен System.ComponentModel). Если вы установите это свойство равным false, то оно не будет показано в сетке свойств.

Атрибут DisplayName

Атрибут DisplayName вполне очевиден: он позволяет изменять имя свойства. В данном случае мы можем изменить имя свойства, которое появится в сетке свойств с Description на «Описание элемента управления»:

Атрибут Description

Кроме возможности задавать имя свойства по своему усмотрению, целесообразно также предоставлять описание, которое должно появляться в нижней части окна Properties, когда выбирается соответствующее свойство. Это гарантирует, что пользователи компонента знают его свойства.

Атрибут Category

По умолчанию любое видимое свойство размещается в группе Miscellaneous, если окно Properties имеет сгруппированное представление. Используя атрибут Category, вы сможете разместить ваше свойство в любой из существующих групп, таких как Appearance или Data, или в новой группе, если укажете имя группы, которой еще нет.

Атрибут DefaultValue

Система Visual Studio 2013 выделяет свойства, которые были изменены по сравнению со своим начальным значением или значением, заданным по умолчанию. Атрибут DefaultValue определяет, как система Visual Studio 2013 выполняет поиск значений, заданных по умолчанию для указанного свойства.

В данном случае, если значение свойства Description установлено равным » «, система Visual Studio 2013 удаляет строку кода, которая устанавливает это свойство. Если вы изменили это свойство и хотите вернуть его первоначальное значение, щелкните правой кнопкой мыши в окне Properties и выполните команду Reset в контекстном меню.

Следует подчеркнуть, что атрибут DefaultValue не устанавливает начальное значение вашего свойства. Если вы задаете атрибут DefaultValue, то рекомендуется одновременно установить начальное значение точно так же, как и в предшествующем коде.

Атрибут AmbientValue

Одно из свойств, которое мы все принимаем как должное, но лишь некоторые действительно понимают до конца, — это концепция сочетаемости объекта с внешним окружением. Типичными примерами являются цвета и шрифты переднего и заднего плана: если их не установить явно в окне Properties, они наследуются, но не от базового класса, а от своих родительских элементов управления. Более широкое определение концепции сочетаемости трактует его как свойство, которое принимает свое значение от другого источника.

Как и атрибут DefaultValue, атрибут AmbientValue используется для того, чтобы служить индикатором для системы Visual Studio 2013, когда она не должна добавлять код в файл проектировщика. К сожалению, при работе со свойствами зависимости невозможно жестко задать в коде значение, с которым следует сравнивать текущее значение, поскольку оно зависит от значения, заданного в источнике свойств. Из-за этого, когда вы определяете атрибут AmbientValue, вы поручаете проектировщику искать функцию ShouldSerializePropertyName. В данном случае эта функция называется ShouldSerializeDescription, и этот метод вызывается для того, чтобы определить, следует ли хранить текущее значение свойства в исходном файле проектировщика.

Когда вы создаете элемент управления с данным свойством, начальное значение должно быть установлено равным константе DefaultDescription, но в проектировщике вы можете увидеть значение, соответствующее значению Parent.Text.

В этой и предыдущих статьях вы увидели в действии три основных инструментальных окна — Solution Explorer, Toolbox и Properties. Зная правила манипулирования этими окнами, вы сэкономите много времени на этапе разработки. Однако истинная мощь системы Visual Studio 2013 проявляется, когда вы начинаете инкорпорировать свой опыт разработчика в собственные компоненты. Это может оказаться полезным, даже если ваши компоненты будут использоваться только в вашей организации. Эффективно используя проектировщик, можно улучшить не только процесс проектирования с помощью собственных элементов управления, но и повысить производительность создаваемого приложения.

Читайте также:  Installing apk on linux
Оцените статью