Когда добавить Класс Компонента по сравнению с Пользовательским элементом управления?

подпроцесс: subprocess модуль позволяет Вам порождать новые процессы, соединяться с их входными/выводами/ошибками каналами и получать их коды возврата.

http://docs.python.org/library/subprocess.html

Использование:

import subprocess
process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE)
process.wait()
print process.returncode
25
задан niton 21 April 2015 в 23:51
поделиться

4 ответа

В WPF и Windows Forms главное отличие состоит в том, что UserControl представляет собой набор элементов управления - многократно используемый единый объект, «составленный» из самих нескольких элементов управления.

Если вы создаете единый примитивный элемент управления с новым поведением, вместо создания «элемента управления», состоящего из более мелких элементов управления, вы должны использовать Component / CustomControl / Control вместо UserControl. Компонент обычно представляет собой невизуальное поведение, где CustomControl / Control обычно используется для визуального контроля.

21
ответ дан 28 November 2019 в 21:06
поделиться

Я обычно расширяю Control или, чаще, UserControl, только когда я хочу упаковать некоторые функции пользовательского интерфейса. Что касается компонентов, я думаю о классическом примере - таймере. Его можно перетащить в конструктор, настроить через панель «Свойства», а затем получить к нему программный доступ через код. Короче говоря, я расширяю Component, когда хочу иметь возможность управлять каким-то связанным состоянием и поведением, объектом без пользовательского интерфейса, через конструктор.

4
ответ дан 28 November 2019 в 21:06
поделиться

Между компонентом и элементом управления есть одно существенное различие: элементы управления имеют пользовательский интерфейс. Все элементы управления также являются компонентами, но не все компоненты являются элементами управления. Если вам нужно отобразить пользовательский интерфейс, обычно требуется какая-то база управления (Control, UserControl, Form и т. Д.). Если у вас просто есть поведение, например, с компонентом BackgroundWorker, тогда вам нужно будет только производным от Component напрямую.

Еще одно примечание ... и компоненты, и элементы управления могут быть перенесены на поверхность конструктора. Компоненты отображаются в виде значка и метки в специальной области, элементы управления отображаются непосредственно в области конструктора. Однако есть и третье, что вы можете использовать: простой класс. Если вам не нужна поддержка поверхности дизайна, я бы рекомендовал использовать простой класс, а не Component или Control.

14
ответ дан 28 November 2019 в 21:06
поделиться

В общем, я бы использовал Компонент , когда у элемента управления нет никакого пользовательского интерфейса (или, по крайней мере, тот, который присутствует в форме). Если это элемент управления пользовательского интерфейса, я бы вместо него создал Пользовательский элемент управления .

5
ответ дан 28 November 2019 в 21:06
поделиться
Другие вопросы по тегам:

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