Windows forms parking что это такое

Что такое парковочные окна в Winforms

Это следующий вопрос к этому вопросу qaru.site/questions/960018/. .

У меня сложилось впечатление, что класс Control не реализует finailzer, который действительно правдивый, поэтому просочившиеся элементы управления просачиваются навсегда, а не очищаются во время финализации.

Hans Passant дает некоторый намек на раздел комментариев, в котором говорится, что это так, и некоторое ключевое слово ParkingWindow . Я googled с этим ключевым словом, не могу найти какой-либо полезный ресурс об этом.

Наконец, я нашел класс с именем ParkingWindow в System.Windows.Forms.Application.ParkingWindow через декомпилятор, я не могу понять, что с ним делается.

Похоже, что неэкранные окна будут парифицированы для этого автостоянок и впоследствии будут уничтожены, но не уверены.

Вопрос: что такое ParkingWindow и для чего он используется?

Изменить: как это связано с завершением или очисткой управления?

2 ответа

и позже уничтожается, но не уверен

Это «не уверен» — суть проблемы. Это происходит не так часто, когда окно вообще не уничтожается.

В блоге Shawn Farka хорошо объясняется первоначальное намерение окна парковки. Затраты на повторное создание дочерних окон были, безусловно, выше списка. Не единственное беспокойство, хотя некоторые типы дочерних окон очень трудно воссоздать точно. В качестве примера можно привести TreeView, а с ним связано много состояний среды выполнения. Чтобы сделать это точно, вам нужно записать состояние срыва каждого node. Это больно и Winforms на самом деле не делают этого. Когда вы повторно назначаете, скажем, свойства CheckBoxes или StateImageList, вы увидите, что это не так.

Все и все, это хороший трюк, но они пошли за борт с ним. Детский контроль не только (временно) заканчивается в окне парковки, когда родительское окно воссоздается, оно также перемещается туда, когда:

  • вы установите для свойства Parent значение null
  • вы используете родительский набор элементов управления Remove/At()
  • вы используете родительский элемент управления Clear() методом

В частности, последние две пули почти всегда смертельны в типичной программе Winforms. Они, как правило, используются, когда программист динамически добавляет и удаляет элементы управления во время выполнения. Проблема в том, что элемент управления снова размещен в окне парковки, но программист просто забыл их там, потеряв ссылку на элемент управления. И они будут жить там навсегда. До тех пор, пока пользователь не завершит программу, потому что она превращается в медленную мелассу из создания тысяч окон. Или программа вылетает с «Ошибка создания дескриптора окна». Что происходит, когда Windows становится грубой после того, как программа создала 10 000 окон.

Вместо этого требуется вызвать метод Dispose() элемента управления. Очень необычно в .NET в целом, вызов Dispose() всегда является необязательным. Не в случае класса Control, окно парковки сохраняет ссылку на элемент управления и, таким образом, предотвращает запуск финализатора.

Часто задаваемые вопросы о Microsoft Forms

Совет: Узнайте больше о Microsoft Forms или сразу приступите к работе и создайте опрос или тест. Хотите использовать более сложные элементы фирменной символики, типы вопросов и анализ данных? Попробуйте Dynamics 365 Customer Voice.

Примечание: Сведения в этой статье касаются текущих функций, доступных в Microsoft Forms. Возможности Microsoft Forms, как и большинства современных приложений, постоянно обновляются — добавляются новые и улучшаются имеющиеся. Просматривайте эту статью время от времени, так как в ней будут появляться новые вопросы и ответы.

Microsoft Forms — это простое приложение, которое позволяет легко создавать анкеты, опросы и тесты. В учебных заведениях его можно использовать для создания тестов, сбора отзывов от учителей и родителей или планирования различных мероприятий. В компаниях приложение Microsoft Forms помогает собирать отзывы клиентов, измерять удовлетворенность сотрудников, улучшать товары и услуги, а также проводить мероприятия.

Dynamics 365 Customer Voice (прежнее название — Forms Pro) — это приложение для управления корпоративными отзывами, которое можно использовать для отслеживания метрик клиента, наиболее важных для вашей организации. Благодаря глубокой интеграции с бизнес-приложениями Dynamics 365, встроенными в Microsoft Forms, Dynamics 365 Customer Voice добавляет богатые сведения, подавая данные опросов в режиме реального времени в записи клиентов. Dynamics 365 Customer Voice предоставляет простой и неохваченный уровень работы: от создания опросов до получения результатов на основе отзывов клиентов с минимальным временем настройки. Это помогает следить за тем, какое значение имеет клиент и как они просматривают ваши продукты и услуги, и вы можете быть уверены, что ваши данные поддерживаются политиками безопасности и соответствия требованиям Майкрософт.

Microsoft Forms вы можете использовать один из следующих экономий:

Office 365 для образования

Office 365 A1 Plus

Существующие клиенты, которые приобрели Office 365 для образования E3 до его выхода

Приложения Microsoft 365 для бизнеса

Microsoft 365 бизнес базовый

Microsoft 365 бизнес стандартный

Microsoft 365 бизнес премиум

Приложения Microsoft 365 для предприятий

Microsoft 365 Корпоративные планы E1, E3 и E5

Существующие Office 365 корпоративный E4, которые приобрели E4 до его выхода

Microsoft 365 F3

Microsoft 365 F5

Облако сообщества государственных организаций, США: среды GCC и GCC High

Microsoft 365 GCC и GCC-High G1, G3 и G5

Личная учетная запись Майкрософт

Войдите в Microsoft Forms, чтобы приступить к созданию опросов, тестов, опросов и других типов форм.

Параметры теста Microsoft Forms можно настроить так, чтобы разрешить пользователям, которые не являются сотрудниками организации, отвечать на опросы или тесты. В этом случае ответы будут отправляться анонимно. Если вы хотите знать, кто заполнил ваш тест или опрос, вы можете добавить вопрос, требующий от пользователей указать свое имя.

Microsoft Forms работает на платформах Windows, Mac, Android, iOS и веб-платформах.

Microsoft Forms можно использовать в браузерах для настольных компьютеров и мобильных устройств, чтобы широкой аудитории можно было отвечать на опросы и тесты, не скачив отдельное приложение.

Microsoft Forms оптимизирована для Internet Explorer 11, Edge, Chrome (последняя версия), Firefox (последняя версия), Chrome для Android (последняя версия) и Safari для iOS (последняя версия).

Примечание: Приложения и службы Microsoft 365 перестанут поддерживать Internet Explorer 11 с 17 августа 2021 г. Подробнее. Обратите внимание, что Internet Explorer 11 останется поддерживаемым браузером. Internet Explorer 11 является компонентом операционной системы Windows и соответствует политике жизненного цикла продукта, в котором он установлен.

Нет. Решение Microsoft InfoPath позволяло создавать настраиваемые формы, поддерживающие автоматизированные рабочие процессы, в то время как Microsoft Forms — это простое приложение, предназначенное для быстрого сбора сведений с помощью опросов и тестов.

Вместо Microsoft InfoPath теперь можно использовать списки SharePoint, Flow и PowerApps — современные решения, предназначенные для перевода бумажных форм в цифровой вид, автоматизации работы и преобразования бизнес-процессов. Подробнее.

Что такое парковка Windows в Winforms

У меня сложилось впечатление, что класс Control не реализует finailzer, что действительно верно, поэтому просочившиеся элементы управления просачиваются навсегда, а не очищаются во время завершения.

Читайте также:  Как работать с safari для windows

Ганс Пассант дает некоторую подсказку в разделе комментариев, говоря, что это так, и некоторое ключевое слово ParkingWindow . Я погуглил с этим ключевым словом, не могу найти ни одного полезного ресурса об этом.

Наконец я нашел класс с именем ParkingWindow в System.Windows.Forms.Application.ParkingWindow через декомпилятор, я не могу понять, что с ним делается.

Похоже, что unparent windows будет передан этому парковочному окну и уничтожен позже в какой-то момент, но не уверен.

Вопрос в том, что именно такое ParkingWindow и для чего он используется?

Edit: как это связано с завершением или очисткой элемента управления?

2 ответа

Как создать windows с неправильными формами, используя WinForms и C#?

Что такое элемент управления winforms, который Visual Studio использует в качестве редактора свойств? Это таблица из двух столбцов с именами в левой части и редактируемым значением в правой.

и уничтожен позже в какой-то момент, но не уверен

В этом-то и заключается суть проблемы. Это очень часто идет не так, когда окно вообще не разрушается.

Сообщение в блоге Шона Фарки хорошо объясняет первоначальное намерение парковочного окна. Расходы на воссоздание ребенка windows, безусловно, были на первом месте в списке. Однако это не единственная проблема:некоторые типы child windows очень трудно точно воссоздать. A TreeView-хороший пример, с ним связано довольно много состояний времени выполнения. Чтобы сделать это точно, вам нужно будет записать состояние коллапса каждого узла. Это больно, и Winforms на самом деле этого не делает. Когда вы повторно назначите, скажем, свойства CheckBoxes или StateImageList, вы увидите, что это происходит неправильно.

В общем и целом, это хороший трюк, но они переборщили с ним. Дочерний элемент управления не просто (временно) оказывается на парковочном окне, когда родительское окно воссоздается, он также перемещается туда, когда:

  • установить свойство parent, чтобы null
  • вы используете метод Remove/At() родительской коллекции элементов управления
  • вы используете метод Clear() родительской коллекции элементов управления

В частности, последние две пули почти всегда смертельны в типичной программе Winforms. Они обычно используются, когда программист динамически добавляет и удаляет элементы управления во время выполнения. Проблема в том, что элемент управления повторно размещается на парковочном окне, но программист просто забывает их там, теряя ссылку на элемент управления. И они будут жить там вечно . До тех пор, пока пользователь не завершит работу программы, потому что она превращается в медленную патоку от создания тысяч windows. Или программа вылетает с «Error creating window handle». Что происходит, когда Windows становится угрюмым после того, как программа создала 10 000 windows.

Вместо этого требуется вызвать метод Dispose() элемента управления. Очень необычно в .NET вообще, вызов Dispose() всегда необязателен. В отличие от класса Управления, парковочное окно сохраняет ссылку на элемент управления и, таким образом, предотвращает запуск финализатора.

Об этом говорится в этой статье Шона Берка из MS: Windows Forms Parking Window .

Одна из наших целей с формами Windows состояла в том, чтобы попытаться сгладить как можно больше странностей Win32. И одна из главных странностей — это управление оконной ручкой (HWND) и срок службы. Мы, конечно ,не хотели, чтобы средний пользователь должен был беспокоиться об этом. В большинстве случаев это было довольно легко. Вы просто собираете все состояние, а затем, когда вам действительно нужно показать окно, вы делаете то же самое. создание по требованию, а затем вы вытесняете свое состояние из HWND вместо своих внутренних членов.

Ну, это не всегда так хорошо работает. Видите ли, существуют определенные свойства Win32 windows, которые вы не можете изменить после создания окна . Как, например, стиль границы. Таким образом, чтобы позволить пользователю изменить стиль границы после создания окна, вам нужно воссоздать дескриптор. А значит нужно не только тянуть все состояние, которое вы хотите вывести из существующего, но вам нужно воссоздать его и вернуть обратно. Ладно, это не так уж сложно.

Но как быть с детьми? О, 33 палочки. Дети.

Если окно, на котором вы изменяете границу, имеет дочерние элементы, то уничтожение его дескриптора приведет к уничтожению дескрипторов всех его дочерних элементов. Затем вам нужно их воссоздать, что очень дорого. А дорого-это плохо.

Войдите в окно парковки. Парковочное окно было нашим решением этой проблемы. Это было место, где вы могли бы «park» HWNDs, пока у вас не будет подходящего родителя для них. Думайте об этом как о ручке окна приемной семьи, но невидимой.

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

Похожие вопросы:

Это может показаться странным, но я не нашел никакого простого введения в WinForms (теория, я знаю, как работать с формами). На MSDN я читал, что форма является основным элементом приложения, но мне.

Что такое WPF для программиста WinForms? WinForms distilled-это добавление элементов управления в формы и добавление обработчиков событий. Это просто и легко и позволяет быстро сделать.

Что такое Windows API?

Как создать windows с неправильными формами, используя WinForms и C#?

Что такое элемент управления winforms, который Visual Studio использует в качестве редактора свойств? Это таблица из двух столбцов с именами в левой части и редактируемым значением в правой.

У меня есть приложение WinForms, написанное в .NET Framework 2.0. Может ли он работать на устройстве Windows RT ? Если нет, то на каком планшете будет работать мое приложение?

Я пытаюсь построить приложение, используя WinForms, и мне нужно что-то вроде фрейма JDialog, чтобы вставить в него несколько TextBoxes (JTextField в Java) вместе с двумя кнопками (OK и отмена), но я.

У меня есть приложение C# Winforms, которое нуждается в API. // The API that I need using System.Windows.Media.Transcoding; Однако я продолжал получать проблему, говоря, что пространство имен не.

Кто-нибудь знает, что такое эквивалент SelectedValuePath и selectedValue от WPF комбо-боксов до WinForms? Я пробовал с ValueMember и Value , но это не работает.

Руководство по классическим приложениям (Windows Forms .NET) Desktop Guide (Windows Forms .NET)

Добро пожаловать в руководство по классическим приложениям для Windows Forms, платформы пользовательского интерфейса для создания разнообразных клиентских приложений рабочего стола в Windows. Welcome to the Desktop Guide for Windows Forms, a UI framework that creates rich desktop client apps for Windows. Платформа разработки Windows Forms поддерживает широкий набор функций для разработки приложений, включая элементы управления, графику, привязку данных и ввод пользователя. The Windows Forms development platform supports a broad set of app development features, including controls, graphics, data binding, and user input. Характерной чертой Windows Forms является использование визуального конструктора с функцией перетаскивания в Visual Studio для упрощения создания приложений Windows Forms. Windows Forms features a drag-and-drop visual designer in Visual Studio to easily create Windows Forms apps.

Документация для Руководства по рабочему столу по .NET 5 (и .NET Core) находится в разработке. The Desktop Guide documentation for .NET 5 (and .NET Core) is under construction.

Существует две реализации Windows Forms. There are two implementations of Windows Forms:

Читайте также:  Сборка образов windows для загрузочной флешки

Реализация с открытым исходным кодом, размещенная на GitHub. The open-source implementation hosted on GitHub.

Эта версия работает в .NET 5 и .NET Core 3.1. This version runs on .NET 5 and .NET Core 3.1. Для использования визуального конструктора Windows Forms требуется версия Visual Studio 2019 не ниже предварительной версии 16.8. The Windows Forms Visual Designer requires, at a minimum, Visual Studio 2019 version 16.8 Preview.

Реализация .NET Framework 4, поддерживаемая в Visual Studio 2019 и Visual Studio 2017. The .NET Framework 4 implementation that’s supported by Visual Studio 2019 and Visual Studio 2017.

.NET Framework 4 — это версия .NET только для Windows, которая считается компонентом операционной системы Windows. .NET Framework 4 is a Windows-only version of .NET and is considered a Windows Operating System component. Эта версия Windows Forms распространяется с .NET Framework. This version of Windows Forms is distributed with .NET Framework.

Данное руководство по классическим приложениям создано для Windows Forms в .NET 5. This Desktop Guide is written for Windows Forms on .NET 5. Дополнительные сведения о версии Windows Forms для .NET Framework см. в разделе Windows Forms для .NET Framework. For more information about the .NET Framework version of Windows Forms, see Windows Forms for .NET Framework.

Введение Introduction

Windows Forms — это платформа пользовательского интерфейса для создания классических приложений Windows. Windows Forms is a UI framework for building Windows desktop apps. Она обеспечивает один из самых эффективных способов создания классических приложений с помощью визуального конструктора в Visual Studio. It provides one of the most productive ways to create desktop apps based on the visual designer provided in Visual Studio. Такие функции, как размещение визуальных элементов управления путем перетаскивания, упрощают создание классических приложений. Functionality such as drag-and-drop placement of visual controls makes it easy to build desktop apps.

В Windows Forms можно разрабатывать графически сложные приложения, которые просто развертывать, обновлять, и с которыми удобно работать как в автономном режиме, так и в сети. With Windows Forms, you develop graphically rich apps that are easy to deploy, update, and work while offline or while connected to the internet. Приложения Windows Forms могут получать доступ к локальному оборудованию и файловой системе компьютера, на котором работает приложение. Windows Forms apps can access the local hardware and file system of the computer where the app is running.

Зачем нужна миграция с .NET Framework Why migrate from .NET Framework

В Windows Forms для .NET 5.0 предусмотрены новые функции и усовершенствования по сравнению с .NET Framework. Windows Forms for .NET 5.0 provides new features and enhancements over .NET Framework. Дополнительные сведения см. в разделе Новые возможности в Windows Forms для .NET 5. For more information, see What’s new in Windows Forms for .NET 5. О том, как выполняется перенос приложения, см. в разделе Порядок переноса классического приложения Windows Forms в .NET 5. To learn how to migrate an app, see How to migrate a Windows Forms desktop app to .NET 5.

Создание многофункциональных интерактивных пользовательских интерфейсов Build rich, interactive user interfaces

Windows Forms — это технология пользовательского интерфейса для .NET, представляющая собой набор управляемых библиотек, которые упрощают выполнение стандартных задач, таких как чтение из файловой системы и запись в нее. Windows Forms is a UI technology for .NET, a set of managed libraries that simplify common app tasks such as reading and writing to the file system. С помощью среды разработки, такой как Visual Studio, можно создавать интеллектуальные клиентские приложения Windows Forms, которые отображают информацию, запрашивают ввод пользователя и взаимодействуют с удаленными компьютерами по сети. When you use a development environment like Visual Studio, you can create Windows Forms smart-client apps that display information, request input from users, and communicate with remote computers over a network.

В Windows Forms форма — это визуальная поверхность, на которой выводится информация для пользователя. In Windows Forms, a form is a visual surface on which you display information to the user. Обычно приложение Windows Forms строится путем добавления элементов управления в формы и создания кода для реагирования на действия пользователя, такие как щелчки мыши или нажатия клавиш. You ordinarily build Windows Forms apps by adding controls to forms and developing responses to user actions, such as mouse clicks or key presses. Элемент управления — это отдельный элемент пользовательского интерфейса, предназначенный для отображения или ввода данных. A control is a discrete UI element that displays data or accepts data input.

При выполнении пользователем какого-либо действия с формой или одним из ее элементов управления создается событие. When a user does something to your form or one of its controls, the action generates an event. Приложение реагирует на эти события, как задано в коде, и обрабатывает события при их возникновении. Your app reacts to these events with code, and processes the events when they occur.

В Windows Forms предусмотрено множество элементов управления, которые можно добавлять в формы. Например, элементы управления могут отображать текстовые поля, кнопки, раскрывающиеся списки, переключатели и даже веб-страницы. Windows Forms contains a variety of controls that you can add to forms: controls that display text boxes, buttons, drop-down boxes, radio buttons, and even webpages. Если предусмотренные элементы управления не подходят для ваших целей, в Windows Forms можно создавать собственные пользовательские элементы управления с помощью класса UserControl. If an existing control doesn’t meet your needs, Windows Forms also supports creating your own custom controls using the UserControl class.

В Windows Forms имеются многофункциональные элементы управления пользовательского интерфейса, позволяющие эмулировать функции таких сложных приложений, как Microsoft Office. Windows Forms has rich UI controls that emulate features in high-end apps like Microsoft Office. С помощью элементов управления ToolStrip и MenuStrip вы можете создавать панели инструментов и меню, которые содержат текст и изображения, отображают подменю и размещают другие элементы управления, такие как текстовые поля и поля со списками. When you use the ToolStrip and MenuStrip controls, you can create toolbars and menus that contain text and images, display submenus, and host other controls such as text boxes and combo boxes.

Используя функцию перетаскивания конструктора Windows Forms в Visual Studio, можно легко создавать приложения Windows Forms. With the drag-and-drop Windows Forms Designer in Visual Studio, you can easily create Windows Forms apps. Просто выделите элемент управления с помощью курсора и поместите его на нужное место в форме. Just select the controls with your cursor and place them where you want on the form. Для преодоления трудностей, связанных с выравниванием элементов управления, конструктор предоставляет такие средства, как линии сетки и линии привязки. The designer provides tools such as gridlines and snap lines to take the hassle out of aligning controls. С помощью элементов управления FlowLayoutPanel, TableLayoutPanel и SplitContainer можно гораздо быстрее создавать сложные макеты форм. You can use the FlowLayoutPanel, TableLayoutPanel, and SplitContainer controls to create advanced form layouts in less time.

Наконец, если нужно создать свои собственные элементы пользовательского интерфейса, пространство имен System.Drawing содержит широкий набор классов, необходимых для отрисовки линий, кругов и других фигур непосредственно на форме. Finally, if you must create your own custom UI elements, the System.Drawing namespace contains a large selection of classes to render lines, circles, and other shapes directly on a form.

Читайте также:  Windows синхронизация с тез

Создание форм и элементов управления Create forms and controls

Пошаговые инструкции по использованию этих возможностей можно найти в приведенных ниже разделах справки. For step-by-step information about how to use these features, see the following Help topics.

  • Добавление формы в проект How to add a form to a project
  • Добавление элементов управления в форму How to add Controls to to a form

Control | [How to: Create a Basic ToolStrip with Standard Items Using the Designer](./controls/create-a-basic-wf-toolstrip-with-standard-items-using-the-designer.md) | | Creating graphics with | [Getting Started with Graphics Programming](./advanced/getting-started-with-graphics-programming.md) | | Creating custom controls | [How to: Inherit from the UserControl Class](./controls/how-to-inherit-from-the-usercontrol-class.md) | —>

Отображение и обработка данных Display and manipulate data

Во многих приложениях требуется отображать данные из базы данных, файла XML или JSON, веб-службы или другого источника данных. Many apps must display data from a database, XML or JSON file, web service, or other data source. Windows Forms предоставляет гибкий элемент управления с именем DataGridView для отображения таких табличных данных в традиционном формате строк и столбцов так, что каждый фрагмент данных занимает свою собственную ячейку. Windows Forms provides a flexible control that is named the DataGridView control for displaying such tabular data in a traditional row and column format, so that every piece of data occupies its own cell. С помощью DataGridView можно, помимо прочего, настроить внешний вид отдельных ячеек, зафиксировать строки и столбцы на своем месте, а также обеспечить отображение сложных элементов управления внутри ячеек. When you use DataGridView, you can customize the appearance of individual cells, lock arbitrary rows and columns in place, and display complex controls inside cells, among other features.

В Windows Forms можно с легкостью подключаться к источникам данных по сети. Connecting to data sources over a network is a simple task with Windows Forms. Компонент BindingSource представляет подключение к источнику данных и содержит методы для привязки данных к элементам управления, перехода к предыдущей или следующей записи, редактирования записей и сохранения изменений в исходном источнике. The BindingSource component represents a connection to a data source, and exposes methods for binding data to controls, navigating to the previous and next records, editing records, and saving changes back to the original source. Элемент управления BindingNavigator предоставляет простой интерфейс на основе компонента BindingSource для перехода между записями. The BindingNavigator control provides a simple interface over the BindingSource component for users to navigate between records.

Вы можете легко создавать элементы управления с привязкой к данным с помощью окна «Источники данных» в Visual Studio. You can create data-bound controls easily by using the Data Sources window in Visual Studio. В этом окне отображаются существующие в вашем проекте источники данных, такие как базы данных, веб-службы и объекты. The window displays data sources such as databases, web services, and objects in your project. Создавать элементы управления с привязкой к данным можно путем перетаскивания объектов из этого окна в формы проекта. You can create data-bound controls by dragging items from this window onto forms in your project. Также можно связывать существующие элементы управления с данными, перетаскивая объекты из окна «Источники данных» в существующие элементы управления. You can also data-bind existing controls to data by dragging objects from the Data Sources window onto existing controls.

Другой тип привязки к данным в формах Windows Forms — это параметры. Another type of data binding you can manage in Windows Forms is settings. В большинстве приложений требуется сохранять некоторые сведения о состоянии приложения во время выполнения, например, последний известный размер форм, а также данные пользовательских предпочтений, например, место сохранения файлов по умолчанию. Most apps must retain some information about their run-time state, such as the last-known size of forms, and retain user preference data, such as default locations for saved files. Параметры приложения отвечает этим требованиям, предоставляя простой способ хранения обоих типов сведений на клиентском компьютере. The Application Settings feature addresses these requirements by providing an easy way to store both types of settings on the client computer. После того как вы определите эти параметры с помощью Visual Studio или редактора кода, они сохраняются в XML-файле и автоматически считываются обратно в память во время выполнения. After you define these settings by using either Visual Studio or a code editor, the settings are persisted as XML and automatically read back into memory at run time.

component | [How to: Bind Windows Forms Controls with the BindingSource Component Using the Designer](./controls/bind-wf-controls-with-the-bindingsource.md) | | Working with ADO.NET data sources | [How to: Sort and Filter ADO.NET Data with the Windows Forms BindingSource Component](./controls/sort-and-filter-ado-net-data-with-wf-bindingsource-component.md) | | Using the Data Sources window | [Bind Windows Forms controls to data in Visual Studio](/visualstudio/data-tools/bind-windows-forms-controls-to-data-in-visual-studio) | | Using app settings | [How to: Create Application Settings](./advanced/how-to-create-application-settings.md) | —>

Развертывание приложений на клиентских компьютерах Deploy apps to client computers

После создания приложения необходимо отправить его пользователям, чтобы они могли установить и запустить его на своих клиентских компьютерах. After you have written your app, you must send the app to your users so that they can install and run it on their own client computers. С помощью технологии ClickOnce можно развертывать приложения из Visual Studio всего в несколько щелчков, а затем предоставлять пользователям URL-адрес приложения в Интернете. When you use the ClickOnce technology, you can deploy your apps from within Visual Studio by using just a few clicks, and provide your users with a URL pointing to your app on the web. ClickOnce управляет всеми элементами и зависимостями в приложении и обеспечивает его правильную установку на клиентском компьютере. ClickOnce manages all the elements and dependencies in your app, and ensures that the app is correctly installed on the client computer.

Приложения ClickOnce можно настроить для работы только при подключении к сети или для работы как в сетевом, так и в автономном режиме. ClickOnce apps can be configured to run only when the user is connected to the network, or to run both online and offline. Если вы указываете, что приложение должно поддерживать работу в автономном режиме, то технология ClickOnce добавляет ссылку на приложение в меню Пуск пользователя. When you specify that an app should support offline operation, ClickOnce adds a link to your app in the user’s Start menu. Затем пользователь может открывать приложение без использования URL-адреса. The user can then open the app without using the URL.

При обновлении приложения вы публикуете на веб-сервере новый манифест развертывания и новую копию приложения. When you update your app, you publish a new deployment manifest and a new copy of your app to your web server. ClickOnce обнаруживает, что доступно обновление, и обновляет установку пользователя. ClickOnce will detect that there is an update available and upgrade the user’s installation. Таким образом, для обновления старых приложений не требуется писать специальный код. No custom programming is required to update old apps.

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