2009-01-25 5 views
7

मैं उपयोगकर्ता नियंत्रण को जोड़ रहा हूं। वर्तमान में इसमें एक टेक्स्टबॉक्स और एक बटन शामिल है - एक सीखने का अनुभव के रूप में। इसका उपयोग अधिक उपयोगी नियंत्रण के आधार के रूप में किया जाएगा।उपयोगकर्ता नियंत्रण के लिए डेटासोर्स

मैं डेटा स्रोत, प्रदर्शन सदस्य और ValueMember जोड़ना चाहता हूं।
यहां डेटास्रोत के लिए मेरा कोड है। यह गुण संपादक में प्रदर्शित होगा, लेकिन अक्षम और भूरे रंग से बाहर है। मैं क्या खो रहा हूँ?

private object MyDataSource; 

    [Browsable(true)] 
    [TypeConverter("System.Windows.Forms.Design.DataSourceConverter")] 
    [System.ComponentModel.Bindable(true)] 
    public object DataSource 
    { 
     get 
     { 
      return MyDataSource; 
     } 
     set 
     { 
      if (MyDataSource != value) 
       MyDataSource = value; 
     } 
    } 

उत्तर

5

एक आसान विकल्प के बजाय एक विशेषता प्रदाता का उपयोग करने के लिए हो सकता है:

[AttributeProvider(typeof(IListSource))] 

आप विधानसभा से योग्य नाम का उपयोग कर की कोशिश कर सकते? और संपादक निर्दिष्ट?

[TypeConverter("System.Windows.Forms.Design.DataSourceConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] 
[Editor("System.Windows.Forms.Design.DataSourceListEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] 

असल में, आप को संक्षिप्त कर सकते हैं सिर्फ विधानसभा निर्दिष्ट करके इस संस्करण-स्वतंत्र होने के लिए:

[TypeConverter("System.Windows.Forms.Design.DataSourceConverter, System.Design")] 
[Editor("System.Windows.Forms.Design.DataSourceListEditor, System.Design", typeof(UITypeEditor))]