मेरे पास एक क्लास (नियंत्रण) है, जो आईसी कस्टमटाइप डिस्क्रिप्टर को कार्यान्वित करता है, जिसका उपयोग प्रॉपर्टीज्रिड द्वारा प्रॉपर्टीज्रिड द्वारा डिज़ाइन-टाइम और रन-टाइम दोनों पर किया जाता है। मुझे डिज़ाइन-टाइम (मानक नियंत्रण गुण जैसे width
, height
और इसी तरह) पर अलग-अलग गुणों का खुलासा करने की आवश्यकता है, और रन-टाइम पर, जब मेरे प्रोग्राम में प्रॉपर्टीग्रिड का उपयोग उस नियंत्रण के अन्य गुणों को बदलने के लिए किया जाता है।कैसे पता चलेगा कि नियंत्रण डिज़ाइन-समय पर है या नहीं?
class MyControl : UserControl, ICustomTypeDescriptor
{
//Some code..
public PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
return GetProperties();
}
public PropertyDescriptorCollection GetProperties()
{
//I need to do something like this:
if (designTime)
{ //Expose standart controls properties
return TypeDescriptor.GetProperties(this, true);
}
else
{
//Forming a custom property descriptor collection
PropertyDescriptorCollection pdc = new PropertyDescriptorCollection(null);
//Some code..
return pdc;
}
}
}
वहाँ सी # में एक डिजाइन समय ध्वज के लिए एक एनालॉग है:
मेरे कोड की तरह है? सशर्त संकलन का उपयोग करना बेहतर हो सकता है?
क्या आप wpf या winform के बारे में बात कर रहे हैं? –
* के संभावित डुप्लिकेट * [कैसे बताएं कि विजुअल स्टूडियो डिजाइनर द्वारा .NET कोड चलाया जा रहा है] (http://stackoverflow.com/questions/73515/how-to-tell-if-net-code-is-being- चलाने-दर-दृश्य-स्टूडियो डिजाइनर) *। –