Como é que um designer de C # conhece a propriedade padrão de um Padding ou outro objeto / estrutura em C #

Como dizer ao designer o valor padrão de uma Propriedade quando ela não é um dos tipos suportados porDefaultValue()? Por exemplo, umPaddingou umFont.

Normalmente, quando você usa um controle Windows Forms, os valores padrão estarão em uma fonte normal na janela Propriedades e os valores alterados (não padrão) estarão em negrito. Por exemplo.

Nesta amostra, o valor padrão deShowAddress éfalse e o valor padrão deShowName étrue. Este efeito é alcançado com o seguinte:

[DefaultValue(false)]
public bool ShowAddress {
  get { return mShowAddress; }
  set { 
    mShowAddress = value; 
    Invalidate();
  }
}

[DefaultValue(true)]
public bool ShowName { ... }

No entanto, quando tentei fazer algo paraPadding, Eu falhei miseravelmente:

[DefaultValue(new Padding(2))]
public Padding LabelPadding { ... }

O que, obviamente, não será compilado.

Como diabos eu faria isso?

questionAnswers(2)

yourAnswerToTheQuestion