Wie verwende ich integrierte Editoren für exponierte Eigenschaften in Benutzersteuerelementen? - Mask Property Editor Issue

Ich denke, es gibt eine einfache Lösung für meine dumme Frage, aber ich kann sie heute einfach nicht lösen.

Ich habe ein Benutzersteuerelement mit einemMaskedTextBox Kontrolle in sich. Ich habe auch einige seiner Eigenschaften zur Verfügung gestellt, die der Benutzer ändern kann.

Eine dieser Eigenschaften istMask -Eigenschaft, die ich mit der Fähigkeit zum Starten eines Editors mit vordefinierten Werten wie in einem normalen MaskedTextBox-Steuerelement verfügbar machen möchte.

So habe ich eine öffentliche Eigenschaft InputMask erstellt und alles so eingerichtet, dass es funktioniert, aber nachdem ich den Editor angezeigt habe, erhalte ich einen Fehlerdialog, der diesen Fehler enthält:

Der Objektverweis wurde nicht auf eine Instanz eines Objekts festgeleg

Wenn ich nicht den Editor benutze und eine Maske kopiere oder setze, funktioniert der Code ohne Probleme.

Hier ist ein Codebeispiel:

...
MaskedTextBox maskedtextbox;
myUserControl()
{
    ...
    maskedtextbox = new MaskedTextBox(){
        some stuff...
    };
}

[DefaultValue("")]
[Editor("System.Windows.Forms.Design.MaskPropertyEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))]
[Localizable(true)]
[MergableProperty(false)]
[RefreshProperties(RefreshProperties.Repaint)]
public string InputMask
{
    get { return this.maskedtextbox.Mask; }
    set { this.maskedtextbox.Mask = value; }
}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage