2011-01-11 11 views
10

में नियंत्रण के लिए डबल-क्लिक ईवेंट निर्दिष्ट करें जब आप विजुअल स्टूडियो डिज़ाइनर में Control पर डबल-क्लिक करें, तो आप स्वचालित रूप से event पर सदस्यता लेते हैं और फ़ाइल के पीछे कोड में इवेंट हैंडलर उत्पन्न होता है। लोडेड विजुअल स्टूडियो डिज़ाइनर

  • Button - - क्लिक करें
  • TextBox - TextChanged
  • Grid - नहीं

    निम्नलिखित नियंत्रण पर डबल क्लिक इसी घटना

    • UserControl का सदस्य बनता यहाँ तक की टी
      आदि

    यह कैसे निर्दिष्ट किया जाता है, यह एक दृश्य स्टूडियो की स्थापना है? क्या यह ओवरराइडन हो सकता है और आप कैसे निर्दिष्ट कर सकते हैं कि आप किस ईवेंट को डबल-क्लिक से लिंक करना चाहते हैं उदा। एक कस्टम नियंत्रण?

    धन्यवाद

  • उत्तर

    13

    वहाँ एक DefaultEventAttribute कि निर्दिष्ट कर सकते हैं नियंत्रित करता है। डिजाइनर इस विशेषता को पढ़ने के लिए जानता है और डिफ़ॉल्ट रूप से उपयोग करने के लिए कौन सी घटना का उपयोग करने के लिए इसका उपयोग करता है।

    [DefaultEvent("DoubleClick")] 
    public class MyClass { 
    
        public event EventHandler DoubleClick; 
    
    } 
    

    भी एक DefaultPropertyAttribute जो काफी कम उपयोगी है नहीं है। डिज़ाइनर में नियंत्रण का चयन होने पर यह संपत्ति ग्रिड में चयन करने के लिए डिफ़ॉल्ट संपत्ति का नाम निर्धारित करता है।

    +0

    और यदि आप अंतिम उपयोगकर्ता को फ़ंक्शन तक पहुंचने के लिए अपने नियंत्रण पर डबलक्लिक करना चाहते हैं, तो "क्लिक करें" –

    +0

    धन्यवाद के बजाय "डबलक्लिक" का उपयोग करें! रिफ्लेक्टर के साथ 'टेक्स्टबॉक्स' में देखते समय मैंने इसे नहीं देखा, मैंने केवल 'कंटेंटप्रॉपर्टी ("टेक्स्ट")' आदि देखा। वैसे भी, डिफ़ॉल्टप्रॉपर्टी एट्रिब्यूट के लिए अतिरिक्त + एक में दो :) –

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