2011-03-22 7 views
23

मैं एक साधारण यूआई के साथ एक सी # डेस्कटॉप ऐप बना रहा हूं। एचटीएमएल/सीएसएस के साथ मेरी परिचितता और एक बहुत ही समान ऐप के पिछले वेब-आधारित पुनरावृत्ति के कारण, यह आदर्श होगा यदि मैं इस नए डेस्कटॉप ऐप के लिए यूआई के रूप में कुछ मौजूदा HTML/CSS पृष्ठों का पुन: उपयोग कर सकता हूं।सी # डेस्कटॉप एप्लिकेशन में UI के रूप में वेबपृष्ठ का उपयोग करें?

क्या यह सी # के साथ सक्षम है? क्या कोई एचटीएमएल/सीएसएस पेज का उपयोग सी # डेस्कटॉप एप्लिकेशन के यूआई के रूप में करने का एक सरल उदाहरण दिखा सकता है?

+0

डेस्कटॉप एप्लिकेशन से आपका क्या मतलब है? क्या आपका मतलब WinForms है? एएसपीनेट एक विकल्प नहीं है? –

+0

मेरा मतलब है कि एक एप्लिकेशन जो अंत उपयोगकर्ताओं की मशीन पर चलता है। यह * एक * वेब अनुप्रयोग नहीं है। –

+0

हां उस मामले में यह एक डेस्कटॉप एप्लीकेशन है; सी # में आप एक जीत फॉर्म या डब्ल्यूपीएफ आवेदन बना सकते हैं। – ukhardy

उत्तर

1

दुर्भाग्य से न तो WinForms या WPF उस तरह के उपयोग के लिए HTML/CSS की तरह पर्याप्त है। आप लेआउट-अवधारणाओं और पाठ्यक्रम की कला का पुन: उपयोग करने में सक्षम होंगे। और, डब्ल्यूपीएफ के साथ सबसे नज़दीकी चीज होने के साथ, आप कोड कोड के पीछे भी बहुत कुछ रख सकते हैं।

लेकिन संक्षिप्त उत्तर है: नहीं

+0

आप विंडोज अनुप्रयोगों में पूरी तरह कार्यात्मक ब्राउज़र क्षमताओं को जोड़ सकते हैं। ** विंडोज़ पर चलने में सक्षम लगभग सभी सामान्य ब्राउज़र विंडोज अनुप्रयोग ** हैं। – ukhardy

+1

@ukhardy: मैं कहूंगा कि विंडोज़ पर चलने में सक्षम सभी ब्राउज़र विंडोज अनुप्रयोग हैं ... आपका क्या मतलब है? –

+1

आप गलत हैं कंसोलेशन कंसोलेशन कर सकते हैं। – ukhardy

1

आप अपने पृष्ठ को दिखाने के लिए एक रूपों आवेदन करने के लिए एक वेब ब्राउज़र नियंत्रण जोड़ने की कोशिश कर सकते हैं। लेकिन इसे दूरस्थ रूप से होस्ट करने की आवश्यकता होगी क्योंकि कोड स्थानीय रूप से निष्पादित करने में सक्षम नहीं होगा, सिवाय इसके कि यदि आप सी # में विशिष्ट लिंक सुनते हैं और फिर क्रियाएं करते हैं।

आप डब्ल्यूपीएफ पर अपना हाथ भी आजमा सकते हैं जो एचटीएमएल की तरह मार्क-अप के साथ अच्छी लग रही गुई बनाने के लिए एक नई तकनीक है, जिसे आप अपने एचटीएमएल अनुभव के साथ बहुत तेज़ी से उठाएंगे।

3

आप अपने आवेदन में वेब ब्राउज़र कार्यक्षमता जोड़ने के लिए WebBrowser नियंत्रण का उपयोग कर सकते हैं।

आप अपने स्वयं के एचटीएमएल बना सकते हैं और उन पृष्ठों को प्रदर्शित करने के लिए अपने WebBrowser नियंत्रण सेट कर सकते हैं। आप नेविगेशन इतिहास के माध्यम से पीछे और आगे बढ़ने के लिए हाइपरलिंक पर क्लिक करके या कीबोर्ड शॉर्टकट का उपयोग करके नेविगेट कर सकते हैं। डिफ़ॉल्ट रूप से, आप राइट-क्लिक शॉर्टकट मेनू

के माध्यम से अतिरिक्त ब्राउज़र कार्यक्षमता तक पहुंच सकते हैं आप उन पृष्ठों को केंद्रीय रूप से प्रबंधित भी कर सकते हैं (उदाहरण के लिए लैन पर) और LAN पर सभी ग्राहक इस केंद्रीय स्थान से कनेक्ट हो सकते हैं। इस तरह आप केंद्रीय रूप से पृष्ठों को संशोधित कर सकते हैं।

चेक MSDN पर एक पूर्वाभ्यास:

How to: Add Web Browser Capabilities to a Windows Forms Application

+1

क्या आप उन पृष्ठों से ईवेंट को संभाल सकते हैं, जैसे कि बटन क्लिक और ऐसे? –

+0

@ मार्टिन्हो फर्नांडीस: हाँ आप अपने क्लाइंट एप्लिकेशन कोड से पृष्ठों में लागू नियंत्रण घटनाओं और स्क्रिप्ट विधियों को कॉल कर सकते हैं। – ukhardy

+1

शायद यह सिर्फ मुझे है, लेकिन यह सवाल उठता है कि "पूरी चीज को वेबबैड करने और उपयोगकर्ता की वरीयता के ब्राउज़र में चलाने के बजाय ऐप क्यों है?" –

5

CefSharp (https://github.com/cefsharp/CefSharp) क्रोमियम embedd के लिए एक अच्छा तरीका है, लेकिन आप अभी भी एक वेब सर्वर की जरूरत है। आईआईएस के विकल्प के लिए http://www.ultidev.com/products/Cassini/ पर एक नज़र डालें।

+0

डेस्कटॉप एप्लिकेशन के लिए, यदि हम CefSharp का उपयोग करते हैं, तो क्या हमें अभी भी एक वेब सर्वर की आवश्यकता है? –

+1

@ एरिक के। हाँ, आपको अभी भी एक वेब की आवश्यकता है। आप अपना खुद का वेब सर्वर बना सकते हैं और अपने आवेदन में एम्बेड कर सकते हैं, इस पोस्ट को देखें। https://codehosting.net/blog/BlogEngine/post/Simple-C- वेब- सर्वर –

8

अन्य उत्तर दिनांकित हैं, नई अच्छा विकल्प:

  • Neutronium - बस एक HTML/जे एस/सीएसएस यूआई एक .NET अनुप्रयोग के लिए देखने के लिए, MVVM (WPF शैली) अनुप्रयोग वास्तुकला की आवश्यकता है। पहले से लिखे गए .NET ऐप्स के लिए सर्वश्रेष्ठ जो HTML/JS/CSS UI का लाभ उठा सकते हैं।
  • Electron + Electron-Edge - क्रॉस-प्लेटफ़ॉर्म HTML/JS/CSS ऐप प्लेटफ़ॉर्म + .NET कोड में इंटरफ़ेस। नए इलेक्ट्रॉन ऐप्स के लिए सर्वश्रेष्ठ जो कि .NET को कुछ कॉल की आवश्यकता है।
3

आप क्रोमियम-आधारित नियंत्रण - DotNetBrowser का उपयोग करने का प्रयास कर सकते हैं। यह नियंत्रण व्यापक इंटरएक्टिविटी विकल्प प्रदान करता है, जैसे डीओएम मैनिपुलेशन और डीओएम कार्यक्रम, जो आपके मामले में उपयोगी हो सकते हैं।https://www.infoq.com/articles/html-desktop-net

संबद्धता प्रकटीकरण:

अलावा, वहाँ एक लेख यह दर्शाता है कि कैसे एक सी # डेस्कटॉप अनुप्रयोग में HTML यूआई के रूप में एक वेब पेज का उपयोग करने के लिए है मैं टीम है, जो DotNetBrowser बनाया के साथ काम करते हैं।

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