2011-11-11 18 views
6

में व्युत्पन्न कक्षा के लिए डिज़ाइनर को अक्षम करें मेरे पास VS2008 डिज़ाइनर का उपयोग करते हुए Windows.Form क्लास से लिया गया क्लास ए है। जब मैं विजुअल स्टूडियो सॉल्यूशन एक्सप्लोरर में फ़ाइल नाम पर डबल क्लिक करता हूं, तो फॉर्म डिज़ाइनर खुलता है। यह वांछित व्यवहार है।विजुअल स्टूडियो 2008

मेरे पास एक द्वितीय श्रेणी बी है, जिसे ए (मैन्युअल रूप से) से लिया गया है। यह वर्ग शुद्ध कोड है - यह कुछ कार्यक्षमता जोड़ता है लेकिन फॉर्म समान है - लेकिन यदि मैं विजुअल स्टूडियो सॉल्यूशन एक्सप्लोरर में अपने फ़ाइल नाम पर डबल क्लिक करता हूं, तो यह फॉर्म डिज़ाइनर खोलता है। यह अवांछित व्यवहार है, विशेष रूप से मुझे समान व्युत्पन्न कक्षा सी-जेड का उत्पादन करने की आवश्यकता होगी।

क्या फ़ाइल संपादक में फ़ाइल को हमेशा खोलने के लिए मजबूर करने का कोई तरीका है? मैं दो प्रस्तावित समाधान के बारे में पता कर रहा हूँ:

  1. को वर्ग बी विशेषता: [System.ComponentModel.DesignerCategory ("")]

    यह प्रतीत होता है विभिन्न पोस्टिंग के अनुसार अतीत में काम किया, लेकिन मेरी स्थिति में कोई प्रभाव नहीं लग रहा है। वीएस पर्यावरण अभी भी कक्षा के लिए एक फॉर्म डिजाइनर खोलने की कोशिश करता है।

  2. meaningfulname.Designer.cs

    यह ... अच्छी तरह से, यह सिर्फ अच्छा नहीं है, यह है के लिए स्रोत फ़ाइल का नाम बदलें?

समाधान (1) अभी भी काम करना चाहिए? यदि हां, तो मैं गलत क्या कर सकता हूं?

या कोई और समाधान है?

उत्तर

9

इसके बजाय [System.ComponentModel.DesignerCategory("Code")] का उपयोग करने का प्रयास करें।

+0

मैंने यह भी कोशिश की, लेकिन सफलता के बिना। पल बी को ए से प्राप्त करने के लिए सेट किया गया है, पर्यावरण इसे जीयूआई कक्षा के रूप में वर्गीकृत करता है। बेस क्लास निकालें, और यह वापस टॉगल करता है। – MZB

+1

@MZB: ऐसा लगता है कि आपको विशेषता में पूरी तरह से योग्य नाम का उपयोग करना है, क्या आप वाकई यह कर रहे हैं? अन्यथा मैं सुझावों से बाहर हूं। –

+1

एक प्रतिभा, महोदय! तुम सही थे आयात किया गया सिस्टम। कॉम्पोनेंट मॉडल मैं पूरी तरह से योग्य पथ का उपयोग नहीं कर रहा था। एक अजीब माइक्रोसॉफ्ट बग ... – MZB

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