2013-01-13 23 views
20

मैं सी # में एक WinForms अनुप्रयोग बनाते हैं, तो उत्पादन प्रकार Windows Applicationएक वीबी.Net Winforms ऐप में मुख्य() प्रविष्टि बिंदु कैसे खोजें?

है और मैं एक static void Main() जो मैं कमांड लाइन पैरामीटर, आदि को संभालने के लिए उपयोग कर सकते हैं के साथ एक program.cs मिलता है ... फिर भी, जब मैं एक बराबर बनाने वीबी के लिए प्रोजेक्ट, एप्लिकेशन का प्रकार Windows Forms Application है और मुझे स्टार्टअप फॉर्म चुनने के लिए मजबूर होना पड़ता है।

क्या मैं यह तय करने से पहले अपना कोड चलाने के लिए एक समतुल्य तंत्र है कि वीबी.Net में कौन सा फॉर्म प्रदर्शित करना है? मुझे लगता है कि एक ही कोड मौजूद है लेकिन ऑटो-जेनरेट और कहीं छिपा हुआ है? यदि हां, तो कहाँ?

+0

संभव डुप्लिकेट [उप मुख्य या रूप स्टार्टअप ऑब्जेक्ट का उपयोग VB.NET जीयूआई एप्लिकेशन शुरू?] (Http://stackoverflow.com/questions/311346/start-vb-net-gui-app-using- उप-मुख्य-या-फॉर्म-स्टार्टअप-ऑब्जेक्ट) – shf301

+1

चर्चा करता है कि यह क्यों किया जाना चाहिए या नहीं, यह नहीं कहता कि यह कैसे करें ... – Basic

+0

@ बासिक क्या आप इसे पैरामीटर के साथ काम करने के लिए प्राप्त करते हैं? मैं जवाब पर उल्लिखित चरणों का उपयोग करता हूं। लेकिन जब मैंने cmd से पैरामीटर पास करने का प्रयास किया तो यह काम नहीं करता है। मेरे पास सार्वजनिक उप मुख्य के रूप में मेरा मुख्य है (ByVal स्ट्रिंग() के रूप में तर्क देता है) और उसके बाद प्रत्येक के लिए सरणी के प्रत्येक तत्व को प्रिंट कर रहा है ... कंसोल का उपयोग कर। राइटलाइन ... मैं cmd ​​से एप्लिकेशन चलाता हूं लेकिन पैरामीटर मुद्रित नहीं करता कि मैं पास करता हूँ। कोई मदद कृपया – CodeEngine

उत्तर

36

वीबी में आपको अपना उप मुख्य हाथ हाथ से बनाना होगा क्योंकि मैं आमतौर पर ऐसा करता हूं जो प्रोग्राम नामक एक नया मॉड्यूल बनाता है।

इसके भीतर एक बहुत ही बुनियादी सेटअप के रूप में आपको निम्न कोड जोड़ना होगा।

Public Sub Main() 

    Application.EnableVisualStyles() 
    Application.SetCompatibleTextRenderingDefault(False) 
    Application.Run(New Form1) 

End Sub 

एक बार जब आप कि स्टार्टअप वस्तु के तहत ड्रॉप डाउन से परियोजना की सेटिंग के आवेदन टैब पर जाएं और 'सक्षम आवेदन ढांचे' सेटिंग अनचेक करें और फिर अपने नए उप मुख्य प्रक्रिया का चयन किया है।

फिर आप किसी भी स्टार्ट-अप कोड को डाल सकते हैं जिसे आप प्रोग्राम से पहले अपने मुख्य फॉर्म को खोलने से पहले चलाने के लिए चाहते हैं। लाइन लाइन।

आशा है कि मदद करता है

+0

शानदार, यह वही है जो मैं ढूंढ रहा था। – Basic

1

आपके आवेदन केवल एक रूप आप बस उप नई() और विजुअल स्टूडियो टाइपिंग इस विधि ठूंठ जो पहले निष्पादित autogenerate होगा शुरू हो सकती है। कोई परियोजना सेटिंग परिवर्तन की आवश्यकता नहीं है।

Public Sub New() 
    MyBase.New() 

    'This call is required by the Windows Form Designer. 
    InitializeComponent() 

    'Add any initialization after the InitializeComponent() call 
    '==> Put your pre-execution steps here. 
End Sub 
की
+2

यह सवाल नहीं था, यह स्टार्टअप फॉर्म से जुड़ा हुआ है, वह कोड को स्टार्टअप फॉर्म से पहले चलाने में सक्षम होना चाहता था। स्वीकृत उत्तर सही है। –

+0

@ मार्कहॉल सही है। 'उप मुख्य()' (आवेदन के लिए प्रारंभिक प्रविष्टि बिंदु) और 'सब न्यू()' (इस मामले में - इस मामले में - एक रूप) के बीच का अंतर ध्यान दें। पूर्व कुछ भी शुरू होने से पहले निष्पादित किया जाता है (कोई फॉर्म, संदेश पंप, आदि) और आपको कमांड लाइन तर्कों को संभालने, दृश्य शैलियों और इसी तरह के – Basic

+0

चुनने की अनुमति देता है हां, मुझे नहीं पता था कि मूल प्रश्न एकाधिक रूपों से निपट रहा था। मैंने उपर्युक्त प्रतिक्रिया को स्पष्ट करने के लिए संपादित किया है कि एक उप नया() केवल आपके प्रारंभ में प्रारंभिक पहुंच प्रदान करता है जब आपके ऐप में एक ही फॉर्म होता है। आपकी टिप्पणीयों के लिए धन्यवाद। – Jeff