ICustomTypeDescriptor を実装するクラス (コントロール) があり、これは PropertyGrid によってカスタマイズのために設計時と実行時の両方で使用されます。プログラムで PropertyGrid を使用してそのコントロールの他のプロパティを変更する場合、設計時 (などの標準コントロール プロパティ) と実行時に、異なるプロパティを公開する必要があり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;
}
}
}
C# のデザインタイム フラグに類似するものはありますか? 条件付きコンパイルを使用する方が良いでしょうか?
ベストアンサー1
チェックするデザインモードtrue または false です。これはコントロール基本クラスに属するプロパティです。