Frage

I Entwicklung eines Formulardesigner entwickeln auch einige benutzerdefinierte Steuerung, die von der Standardsteuerung wie Taste erben.

Auch ich habe eine Eigenschaft, die im Zusammenhang zum Beispiel Benutzer ersten Abteilung auswählen müssen, und dann Person auswählen. und nach den Benutzern wählen Person, habe ich Text meines benutzerdefinierten Steuerelement (die von Button in diesem Fall erben).
. Hinweis: Benutzer können Text-Eigenschaft ändern

Alles, was richtig funktioniert, aber wenn ich von DB oder per Drag & Drop lade Steuer Designer zu bilden, Text von control # set,

Nach dem Überschreiben Text-Eigenschaft und debuggen, i Text richtig eingestellt, aber nach meinem Text, Designer-Set Text mit control # gesetzt, dass dies falsch ist.

Wie diese proplem lösen?

Vielen Dank im Voraus
Hamid

War es hilfreich?

Lösung

Es gibt Attribute, die Sie auf Ihre Eigenschaften wie ReadOnly anwenden können, die zu den Designer von der Einstellung Ihrer Immobilie zu stoppen.

Ich kann den Link im Moment finden, aber es gibt auch eine Methode, um die Formulardesigner zu sagen, dass es Eigenschaften in einer bestimmten Reihenfolge setzen soll.


Edit:

Ok, nicht ganz das, was ich erinnerte sie als, aber ich denke, so etwas wie die ISupportInitialize Schnittstelle.

So etwas wie:

Public Class Test
    Implements ISupportInitalise

    private _numberOne as integer
    private _numberTwo as integer
    private _initalised as boolean

    Public Property NumberOne() as Integer
        Get
            return _numberOne
        End Get
        Set(value as Integer)

            if _initalised then
                'perform checks here'
            end if

            _numberOne = value 
        End Set
    End Property

    Public Property NumberTwo() as Integer
        Get
            return _numberTwo
        End Get
        Set(value as IntegeR)
            if _initalised then
                'perform checks here'
            end if

            _numberTwo = value 
        End Set
    End Property

    Public Sub BeginInit Implements ISupportInitalise.BeginInit
        _initalised = false
    End Sub

    Public Sub EndInit Implements ISupportInitalise.EndInit
        _initalised = true

        'perform all checks here'
    End Sub

End Class

Auf diese Weise alle Ihre Überprüfung deaktiviert werden kann, bis das Objekt vollständig initialisiert wird.

Andere Tipps

Sie können in Ihrem überschriebenen Text Setter prüfen, ob er eingestellt ist wird auf controlName# und, wenn es ist, nichts tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top