Каково различие между Системой. Windows. Средства управления. Управление и Система. Windows. Формы. Управление?

Я смущен, кто-либо может выручить меня?

Править

Моя проблема состоит в том, что я создал элемент управления ActiveX в Delphi, и я просто не могу заставить его играть приятно на земле WPF. Я посмотрел на соответствующие страницы MSDN, и похоже, что это ДОЛЖНО работать, таким образом, я, возможно, пошел не так, как надо в способе, которым я создал элемент управления ActiveX во-первых.

Посмотрите элемент управления ActiveX Хостинга в WPF

7
задан Community 23 May 2017 в 12:30
поделиться

6 ответов

Взгляните на официальную документацию для обоих классов


Вот сигнатура класса для System.Windows.Controls.control class

public class Control : FrameworkElement

Вот сигнатура класса для System. Windows.Forms.Control class

public class Control : Component, IOleControl, 
    IOleObject, IOleInPlaceObject, IOleInPlaceActiveObject, IOleWindow, IViewObject, 
    IViewObject2, IPersist, IPersistStreamInit, IPersistPropertyBag, IPersistStorage, 
    IQuickActivate, ISupportOleDropSource, IDropTarget, ISynchronizeInvoke, IWin32Window, 
    IArrangedElement, IBindableComponent, IComponent, IDisposable

5
ответ дан 6 December 2019 в 07:24
поделиться

Это элементы управления, которые живут в совершенно разных мирах .

System.Windows.Controls.Control - это элемент управления WPF .

System.Windows.Forms.Control - это элемент управления WinForms .

Выбор довольно прост.Если вы разрабатываете приложение WinForms - используйте элементы управления WinForms. Точно так же, если вы пишете приложение WPF - используйте элементы управления WPF.

Что касается выбора между WPF и WinForms - этот вопрос может помочь.

18
ответ дан 6 December 2019 в 07:24
поделиться

System.Windows.Controls.Control для приложения WPF

System.Windows.Forms.Control i для приложения Winforms.

1
ответ дан 6 December 2019 в 07:24
поделиться

Я думаю, что есть ряд отличий, но первое, что приходит на ум, это то, что System.Windows.Controls.Control использует шаблон для определения визуальных аспектов элемент управления, без шаблона он вообще не имеет визуального аспекта.Другими словами, без определения этого шаблона вы не можете сфокусировать его, чтобы он стал видимым или отображался в вашем приложении, потому что для него буквально нет визуального определения.

С другой стороны, у вас есть System.Windows.Forms.Control , который позволяет вам создавать элемент управления, наследуемый от UserControl, класса элемента управления или другого элемента управления Windows. Если вы не укажете новый визуальный параметр для своего элемента управления, он будет отображаться в соответствии с тем, какой родительский элемент управления, от которого вы унаследовали, был настроен для отображения.

Итак, с System.Windows.Controls.Control вы получаете гораздо больше гибкости за счет затрат на дополнительную работу, а с System.Windows.Forms.Control вы получаете унаследовать от существующих элементов управления, сэкономив время, так как цена меньшей гибкости.

0
ответ дан 6 December 2019 в 07:24
поделиться

Что такое Windows Presentation Foundation и Windows Forms?

По пространству имен вы должны определить, что один из них является базовым классом управления для WPF (все WPF используют именование .Windows), а другой - для Windows Forms.

Не могли бы вы пояснить, что именно вас смущает? Я обновлю свой ответ.

HTH,

Полезные ссылки
- Элементы управления Windows Forms и эквивалентные элементы управления WPF
- System.Windows.Forms
- System.Windows.Controls

0
ответ дан 6 December 2019 в 07:24
поделиться

System.Windows.Forms.Control
Определяет базовый класс для элементов управления, которые являются компонентами с визуальным представлением.

System.Windows.Controls.Control
Представляет базовый класс для элементов пользовательского интерфейса (UI), которые используют шаблон ControlTemplate для определения их внешнего вида.

0
ответ дан 6 December 2019 в 07:24
поделиться
Другие вопросы по тегам:

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