2015-02-08 5 views
5

विंडोज़। फोरम लाइब्रेरी में कई बग हैं जो प्रभावी रूप से अनुप्रयोगों को काम करने से रोकती हैं। WinForms Designer फॉर्म पर WebBrowser नियंत्रण डालने में असमर्थ है। NotifyIcon वर्ग LXDE के तहत काम नहीं करता है (KeePass के बगट्रैक देखें)। क्लिपबोर्ड क्लास लिनक्स की गणना के डिफ़ॉल्ट प्रबंधक के साथ असंगत है। ड्रैग और ड्रॉप को डॉकपैनेल सूइट में समस्याएं हैं। WinForms डिजाइनर अस्पष्टता समस्याओं के कारण समाप्त नहीं हुआ है। डब्ल्यूपीएफ कभी लागू नहीं किया गया था और इसे करने की कोई योजना नहीं थी।लिनक्स के लिए विंडोज़ से सी # अनुप्रयोगों को पोर्ट कैसे करें?

और मोनो टीम का कहना है, "हम WinForms विकसित नहीं करना चाहते हैं, क्योंकि यह पुरानी तकनीक है।"

विंडोज़ से लिनक्स तक एक पोर्ट डेस्कटॉप सी # एप्लिकेशन कैसे होना चाहिए? इसे जीटीके # के साथ दोबारा लिखना बहुत मुश्किल लगता है ...

आसान है - मोनो विनफॉर्म को ठीक करने के लिए, WPF को लागू करने के लिए, या दुनिया में सभी अनुप्रयोगों को Gtk # को फिर से लिखना?

+0

https://github.com/picoe/Eto और https://github.com/picoe/Eto पर देखें –

उत्तर

5

जैसा कि आप पहले से ही पता चला है कि मोनो विनफॉर्म कार्यान्वयन केवल बहुत ही सरल अनुप्रयोगों के लिए उपयुक्त है। Xamarin कर्मचारी माइक जेम्स से "Cross-Platform Desktop UIs" ब्लॉग पोस्ट पर एक नज़र डालें, जो उपलब्ध समाधान सार रखते हैं:

  1. पारंपरिक दृष्टिकोण
    WPF या Windows पर WinForms दृश्यपटल, मैक ओएस एक्स पर लिनक्स पर GTK# दृश्यपटल और Xamarin.Mac IMO यह है जाने का सबसे अच्छा तरीका और यह आपके ऐप में व्यवसाय और प्रस्तुति परतों को सही ढंग से अलग कर दिया गया है, ऐसा लगता है कि यह आसान हो सकता है।
  2. XWT
    XWT टूलकिट एक ही API का उपयोग करता है और सभी प्लेटफार्मों पर देशी देखो लेकिन केवल घटकों की एक सीमित सबसेट कार्यान्वित किया जाता है प्रदान करता है। आपकी परियोजनाओं के लिए इसकी उपयोगिता इस बात पर निर्भर करती है कि आपको वास्तव में किन घटकों की आवश्यकता है।
  3. एचटीएमएल फ्रंटएंड
    सरल वेबव्यू घटक या Awesomium HTML UI Engine का उपयोग करके HTML फ्रंटएंड बनाएं। यह कुछ मामलों में एक व्यवहार्य विकल्प हो सकता है लेकिन मुझे यकीन नहीं है कि इस दृष्टिकोण के साथ सिस्ट्रे आइकन लागू करना संभव है या नहीं।
  4. QTSHARP
    खुला स्रोत परियोजना है जो बहु क्यूटी टूलकिट के लिए नेट बाइंडिंग को लागू करना है। मैंने कभी कोशिश नहीं की है लेकिन प्रोजेक्ट वेबसाइट के मुताबिक यह शुरुआती चरण में है और वर्तमान में केवल विंडोज़ पर परीक्षण किया जाता है।

BTW मैं वर्तमान में Pkcs11Admin आवेदन के लिए WinForms उपयोग कर रहा हूँ, लेकिन मैं जैसे ही मैंने समर्थित प्लेटफार्मों में से किसी पर एक अवरोधक बग मारा परंपरागत दृष्टिकोण का उपयोग करने की योजना है।

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