15

एक मौजूदा विंडोज़ फॉर्म को एक वीएस2012 विनफॉर्म प्रोजेक्ट में जोड़ने की कोशिश कर रहा है, तो मैं "जोड़ें/मौजूदा आइटम ..." पर जाता हूं, फिर आयात करें: MyForm.cs, MyForm.designer.cs, MyForm.resxविंडोज फॉर्म आयात करना (सी #), विजुअल स्टूडियो 2012

यह वीएस के पुराने संस्करणों में काम करता था। (मुझे नेमस्पेस को एडजस्ट करना पड़ सकता है।)

वीएस2012 में MyForm.designer.cs और MyForm.resx अब डिज़ाइनर के उद्देश्यों के लिए फ़ॉर्म से जुड़े नहीं हैं; यानी वे समाधान एक्सप्लोरर में अलग-अलग फ़ाइल प्रविष्टियों के रूप में दिखाई देते हैं, माईफॉर्म के तहत घोंसला नहीं। MyForm पर डबल-क्लिक करने से कोई त्रुटि संदेश नहीं होता है (कोई नियंत्रण नहीं) कोई त्रुटि संदेश नहीं। प्रोजेक्ट संकलित करता है और ठीक चलाता है।

हालांकि, जब मैं प्रोजेक्ट में उसी फाइल को खींच और छोड़ देता हूं (नेमस्पेस को एडजस्ट/नाम बदलता हूं), फॉर्म फाइलें एक-दूसरे के साथ ठीक से जुड़ी होती हैं और डिज़ाइनर फॉर्म को ठीक से खोलता है।

जबकि अब मेरे पास कोई समाधान है, क्या कोई इन हाइलाइट्स के बीच अंतर को हाइलाइट कर सकता है, यदि कोई काम नहीं करता है तो मौजूदा/मौजूदा आइटम विकल्प होने का क्या मतलब है, और फ़ाइलों को खींचते समय वास्तव में क्या चल रहा है ? कौन सी फाइल (.csproj शायद?) फॉर्म फाइलों में शामिल होने के लिए ज़िम्मेदार है? क्योंकि यह वीएस के पुराने संस्करणों में दोनों तरीकों से काम करता है, क्या मुझे लगता है कि यह एक बग है?

धन्यवाद।

उत्तर

26

सफलता के बिना - अपनी समस्या को पुन: उत्पन्न करने का प्रयास किया।

मान लें कि आप YourFormName नामक एक फॉर्म आयात करना चाहते हैं। फिर आपको परियोजना में केवल YourFormName.cs जोड़ना चाहिए - बाकी हिस्सों (YourFormName.designer.cs और YourFormName.resx) स्वचालित रूप से जोड़े जाएंगे।

मेरे कदम:

  1. WinForms प्रोजेक्ट बना VS2012 में (11.0.05727.1 मामलों अगर)
  2. परियोजनाओं पर राइट क्लिक करें (मेरे मामले नेट फ्रेमवर्क में 4) -> जोड़ें -> मौजूदा आइटम ...
  3. नियंत्रण के साथ किसी भी WinForm के लिए खोजें (मैंने .NET फ्रेमवर्क 4 और 3.5 के लिए VS2010 में बनाए गए दो रूपों को जोड़ा)
  4. कुछ देरी (लगभग 30-40 सेकंड) के साथ, दोनों मामलों के लिए "डिजाइनर" के रूप में काम किया अपेक्षित और लोड किए गए सभी मौजूदा नियंत्रण/codebehind
+0

हम्म, कृपया स्पष्ट करें "आपको केवल फॉर्म 1.cs जोड़ना चाहिए ..." ?? जब कोई नया विंडोज फॉर्म एप्लिकेशन बनाया जाता है तो फॉर्म 1 स्वचालित रूप से जेनरेट होता है। मैं इसे अकेला छोड़ देता हूं ... जब आप अपने मौजूदा फॉर्म जोड़ते हैं, तो आप _files_ क्या खोजते हैं और चुनते हैं? सभी 3 (यानी .cs, .designer.cs और .resx?) वैसे भी मैं वही करता हूं। मैं इंतजार कर रहा था और इंतजार कर रहा था, चाहे वह 0.4 सेकंड या 40 सेकंड हो, इससे कोई फर्क नहीं पड़ता, मैं समाधान एक्सप्लोरर में 3 फ़ाइल प्रविष्टियों को देखता हूं, और डिज़ाइनर काम नहीं कर रहा है। – Matthias

+0

'फॉर्म 1.cs' एक फॉर्म का एक सामान्य नाम है जो आपको रेखांकित करता है कि आपको केवल '.cs' फ़ाइल जोड़नी चाहिए - 'resx' या' .designer.cs' नहीं।यह – Nogard

+0

ठीक करने के लिए मेरे उत्तर को संपादित करेगा ठीक है, मिल गया। अगर मैं सिर्फ .cs का चयन करता हूं तो यह आपके जैसा काम करता है। पुराने संस्करणों की तुलना में निश्चित रूप से एक अलग व्यवहार। शायद पिछले संस्करणों में यह सिर्फ सीएस आयात करने के साथ भी काम करता था, लेकिन अगर किसी ने भी अन्य लोगों को चुना तो इसे "क्षमा" किया गया है। हालांकि उत्सुक है, यह _deds_ .designer.cs है, यह वह जगह है जहां सभी महत्वपूर्ण नियंत्रण सामग्री रहते हैं। फ़ाइलों को आयात करने के लिए फ़ाइलों की तलाश करते समय फ़ाइल मास्क में .resx भी शामिल है (लेकिन यदि आप वास्तव में करते हैं तो खेलता है :-) मुझे लगता है कि इसका उत्तर दिया गया है। धन्यवाद नोगार्ड। – Matthias

3

बस सीएस फ़ाइल और केवल wait के बारे में mintue के लिए शामिल करें। कोई अन्य फाइल जोड़ने की आवश्यकता नहीं है। यह काम करेगा।

>project करने के लिए जाना existing item जोड़ने रूप myform.cs फ़ाइल का चयन करें और फिर add बटन पर क्लिक करें। यह आपकी परियोजना में फाइल आयात करेगा।

+1

टीएनएक्स .. यह काम करता है। –

+0

आपका स्वागत है यह मेरे लिए भी काम किया। – NomanJaved

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