2010-06-20 5 views
6

मैं उलझन में हूं, क्या कोई मेरी मदद कर सकता है?System.Windows.Controls.Crolrol और System.Windows.Forms.Control के बीच क्या अंतर है?

संपादित

मेरे समस्या यह है कि मैं डेल्फी में एक एक्टिव एक्स नियंत्रण बनाया है और मैं सिर्फ यह WPF देश में अच्छी तरह से खेलने के लिए नहीं मिल सकता है। मैंने प्रासंगिक एमएसडीएन पृष्ठों को देखा है, और ऐसा लगता है कि इसे काम करना चाहिए, इसलिए मैं गलत तरीके से गलत हो गया हूं जिस तरह से मैंने पहली जगह ActiveX नियंत्रण बनाया है।

Hosting ActiveX control in WPF

उत्तर

4

System.Windows.Controls.control वर्ग

public class Control : FrameworkElement 

यहाँ के लिए कक्षा हस्ताक्षर System.Windows.Forms.Control के लिए कक्षा हस्ताक्षर है दोनों वर्गों


यहाँ के लिए आधिकारिक दस्तावेज पर एक नज़र डालें कक्षा

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

0

System.Windows.Forms.Control
नियंत्रण है, जो दृश्य प्रतिनिधित्व के साथ घटक हैं के लिए आधार वर्ग को परिभाषित करता है देखें।

System.Windows.Controls.Control
यूजर इंटरफेस (यूआई) तत्व है कि एक ControlTemplate का उपयोग उनकी उपस्थिति को परिभाषित करने के लिए आधार वर्ग का प्रतिनिधित्व करता है।

0

विंडोज प्रेजेंटेशन फाउंडेशन और विंडोज फॉर्म क्या है?

आपको यह निर्धारित करने में सक्षम होना चाहिए कि आधार WPF के लिए नियंत्रण कक्षा (सभी WPF। विन्डोज़ नामकरण का उपयोग करता है) और दूसरा विंडोज फॉर्म के लिए है।

क्या आप स्पष्ट कर सकते हैं कि आपको वास्तव में क्या भ्रमित लगता है? मैं अपना जवाब अपडेट करूंगा।

HTH,

उपयोगी लिंक्स
- Windows Forms Controls and Equivalent WPF Controls
- System.Windows.Forms
- System.Windows.Controls

+0

जो मुझे भ्रमित लगता है वह शायद ActiveX नियंत्रण का आयात है। यह डेल्फी में लिखा गया है, और स्पष्ट रूप से System.Windows.Forms.Control से नहीं निकलता है। – Mmarquee

0

मुझे लगता है कि मतभेद की एक संख्या है, लेकिन पहले एक जो मन में कूदता देखते हैं कि System.Windows.Controls.Control उपयोग करता है नियंत्रण के दृश्य पहलुओं को परिभाषित करने के लिए एक टेम्पलेट, टेम्पलेट के बिना इसका कोई दृश्य पहलू नहीं है। दूसरे शब्दों में उस टेम्पलेट को परिभाषित किए बिना आप इसे दृश्यमान होने या इसे अपने एप्लिकेशन में दिखाने के लिए ध्यान केंद्रित नहीं कर सकते हैं, क्योंकि इसके लिए सचमुच कोई दृश्य परिभाषा नहीं है।

दूसरी तरफ आपके पास System.Windows.Forms.Control है जो आपको उपयोगकर्ता नियंत्रण, नियंत्रण कक्षा या अन्य विंडोज नियंत्रण से प्राप्त नियंत्रण बनाने की अनुमति देता है। यदि आप अपने नियंत्रण के लिए एक नई दृश्य सेटिंग निर्दिष्ट नहीं करते हैं तो यह प्रदर्शित होगा कि आपके द्वारा विरासत में प्राप्त अभिभावक नियंत्रण को प्रदर्शित करने के लिए सेट किया गया था।

तो, System.Windows.Controls.Control के साथ, आपको अतिरिक्त काम की लागत के रूप में बहुत अधिक लचीलापन मिलता है, और System.Windows.Forms.Control के साथ आपको कम लचीलापन की लागत के रूप में समय बचाने, मौजूदा नियंत्रण से प्राप्त होता है।

+0

हाय टिम, कृपया इगोर का जवाब देखें, क्योंकि आपका रास्ता बंद है। – CodeNaked

+0

मुझे यकीन नहीं है कि आप इस टिप्पणी से कहां से आ रहे हैं कि मैं "रास्ता बंद" हूं। अनुमोदित प्रपत्र। नियंत्रण विंडोज रूपों के लिए है, और Controls.Control WPF के लिए है, लेकिन मूल, पूर्व-संपादन प्रश्न ने केवल अंतर के लिए कहा है, और यह इन एमएसडीएन लेखों में बताए गए प्रमुख अंतरों में से एक है: http: //msdn.microsoft.com/en-us/library/system.windows.controls.control.aspx और http://msdn.microsoft.com/en-us/library/system.windows.forms.control.aspx। मुझे यह जानना अच्छा लगेगा कि यह कैसे बंद है? –

+0

आपका उत्तर तात्पर्य है कि दोनों एक दूसरे के बीच परिवर्तनीय हैं, इस पर आधारित है कि आप अधिक लचीलापन या कम काम चाहते हैं, जो वे नहीं हैं। – CodeNaked

11

वे नियंत्रण जो पूरी तरह से अलग दुनिया में रहते हैं।

System.Windows.Controls.ControlWPF नियंत्रण है।

System.Windows.Forms.ControlWinForms नियंत्रण है।

पसंद बहुत आसान है। यदि आप WinForms ऐप विकसित कर रहे हैं - WinForms नियंत्रण का उपयोग करें। इसी तरह, यदि आप एक WPF ऐप लिख रहे हैं - WPF नियंत्रणों का उपयोग करें।

WPF और WinForms के बीच चुनने के लिए के रूप में - this question मदद कर सकता है।

1

System.Windows.Controls.Control WPF आवेदन

System.Windows.Forms.Control मैं रों Winforms आवेदन के लिए के लिए है।

संबंधित मुद्दे