2009-09-09 15 views
12

मैंने अभी नया मोनो डेवलपमेंट विंडोज बीटा स्थापित किया है, लेकिन सी # विंडोज़ एप्लीकेशन बनाने की कोशिश करते समय एकमात्र विकल्प जीटीके # था। चूंकि मोनो WinForms का समर्थन करता है, यह मोनो डेवलपमेंट में एक विकल्प क्यों नहीं है। मैं अपने अनुप्रयोगों में जीटीके # निर्भरता नहीं लेना चाहता हूं।मोनो डेवेल में WinForms एप्लिकेशन

+2

हाँ, लेकिन यह बात नहीं है, मैं सिर्फ कारणों के पूरे समूह के लिए मोनो डेवलपमेंट का उपयोग करना चाहता हूं। –

उत्तर

10

हालांकि Winforms संस्करण 2.0 के बाद से मोनो में समर्थित है, WinForms डिजाइनर प्रयोग करने योग्य नहीं है अभी तक monodevelop,, आप जो monodevelop

में एक WinForms परियोजना की कमी के लिए कारण

http://www.mono-project.com/WinForms_Designer

AFAIK हो सकता है में लिनक्स के मौजूदा विनफॉर्म अनुप्रयोग को बंद करने के तरीके के रूप में Winforms के लिए मोनो के समर्थन के बारे में सोचना चाहिए। यदि आप ग्राउंड अप से क्रॉस-प्लेटफ़ॉर्म ऐप बनाना चाहते हैं, तो आपको GTK #

5

हालांकि WinForms प्रोजेक्ट टेम्पलेट नहीं है, तो आप किसी भी प्लेटफ़ॉर्म एमडी पर एमडी में WinForms ऐप्स लिख सकते हैं।

बस एक नया खाली सी # प्रोजेक्ट बनाएं और System.Windows.Forms का संदर्भ जोड़ें, फिर अपना कोड लिखें, और & रन बनाएं। हालांकि एमडी में कोई विनफॉर्म डिज़ाइनर नहीं है, आपके पास Winforms प्रकारों के लिए कोड पूर्णता होगी।

+0

हम System.Windows.Forms नामस्थान का उपयोग कर रहे हैं क्योंकि हमारे पास पहले से ही हमारे यूआई बनाए गए हैं। यूआई में अतिरिक्त काम के लिए हम शार्प डेवलपमेंट का उपयोग कर रहे हैं, और फिर एमडी में कोडिंग कर रहे हैं। – IAbstract

4

मृतकों को उठाने के लिए खेद है, लेकिन मैंने हाल ही में ऐसा करने की कोशिश की। जबकि मोनो डेवलपमेंट जीयूआई डिजाइनर प्रदान नहीं करता है, आप वास्तव में हाथ से Winforms लिख सकते हैं, जैसा कि मचच ने बताया। यह इस प्रकार है:

  • एक नया, खाली सी # प्रोजेक्ट बनाएं।
  • System.Windows.Forms के लिए एक संदर्भ जोड़ें
  • एक नया, रिक्त सी # फ़ाइल बनाएँ:

फ़ाइल की सामग्री:

using System; 
using System.Windows.Forms; 

namespace HelloForms 
{ 
    public class MainForm: Form 
    { 
     Label label1 = new Label(); 

     public MainForm() 
     { 
      this.SuspendLayout(); 

      // Initialize your components here 
      this.label1.Text = "Hello, World!"; 

      this.Controls.Add(label1); 
      this.ResumeLayout(); 
      this.Name = "MainForm Name."; 
      this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; 
      this.Text = "MainForm Title!"; 

     } 
    } 

    public class Program 
    { 
     public static void Main(string[] args) { 
      Application.EnableVisualStyles(); 
      Application.SetCompatibleTextRenderingDefault(false); 
      Application.Run(new MainForm()); 
     } 
    } 
} 

MainForm के लिए घटकों को जोड़कर अपने फार्म का विस्तार करें निर्माता।

+0

आपको सिस्टम का संदर्भ भी जोड़ना होगा –

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