Erkennen, wenn Sie das Steuerelement erstellt wird
Einige Eigenschaften sind nur gültig, wenn im Vergleich zu anderen Eigenschaften. Während der Initialisierung ist es logisch, ungültige Eigenschaften ermöglichen. Dies ist, wie Sie überprüfen, ob das Steuerelement initialisiert wird.
Nehmen Sie zum Beispiel eine Steuerelement, die Minimum, Maximum und Value-Eigenschaften (Int32) hat.
Logik besagt, dass Minimum darf nicht größer als das Maximum sein, und der Wert muss im Bereich von Minimum sein... Maximal. Wenn versucht wird, eine Eigenschaft auf eine unlogische Wert festzulegen, sollten Sie eine Ausnahme ausgelöst.
Das Problem ist, dass als Komponente Schriftsteller Sie keinerlei Kontrolle über die Reihenfolge der Benutzer legt haben / ändert Eigenschaften und können am Ende mit einer Initialisierung-Sektion, die wie folgt aussieht:
myControl1.Value = 1000;
myControl1.Maximum = 2000;
myControl1.Minimum = 500;
Wenn die Standardwerte für das Steuerelement Minimum sind = 0, Maximum = 10, Wert = 0, dann ist es ziemlich offensichtlich, dass die erste Zeile, die Wert auf 1000 festgelegt wird zu einem Fehler führen wird.
Zur Lösung dieses Problems können Sie die ISupportInitialize-Schnittstelle. Zum Beispiel...
öffentliche MyControl: Control, ISupportInitialize
{
Boolescher IsInitializing = False;
Int32 mindestens = 0;
Int32-Wert = 0;
Int32-max. = 10;
void ISupportInitialize.BeginInit()
{
IsInitializing = True;
}
void ISupportInitialize.EndInit()
{
IsInitializing = False;
}
öffentliche Int32-Minimum
{
Get {return minimal;}
Satz
{
Wenn (! IsInitializing)
{
Die Validierung der hier tun
}
minimale = Value;
}
}
}
Das NET-Framework wird jede Komponente für ISupportInitialize überprüfen, bevor Sie seine Eigenschaften festlegen und wenn Wille unterstützt führen Sie die folgenden
Komponente. BeginInit();
.. .set Eigenschaften der Komponente...
Komponente. EndInit();
Erkennen, wenn Sie das Steuerelement erstellt wird
Erkennen, wenn Sie das Steuerelement erstellt wird : Mehreren tausend Tipps, um Ihr Leben einfacher machen.
Einige Eigenschaften sind nur gültig, wenn im Vergleich zu anderen Eigenschaften. Während der Initialisierung ist es logisch, ungültige Eigenschaften ermöglichen. Dies ist, wie Sie überprüfen, ob das Steuerelement initialisiert wird.
Nehmen Sie zum Beispiel eine Steuerelement, die Minimum, Maximum und Value-Eigenschaften (Int32) hat.
Logik besagt, dass Minimum darf nicht größer als das Maximum sein, und der Wert muss im Bereich von Minimum sein... Maximal. Wenn versucht wird, eine Eigenschaft auf eine unlogische Wert festzulegen, sollten Sie eine Ausnahme ausgelöst.
Das Problem ist, dass als Komponente Schriftsteller Sie keinerlei Kontrolle über die Reihenfolge der Benutzer legt haben / ändert Eigenschaften und können am Ende mit einer Initialisierung-Sektion, die wie folgt aussieht:
myControl1.Value = 1000;
myControl1.Maximum = 2000;
myControl1.Minimum = 500;
Wenn die Standardwerte für das Steuerelement Minimum sind = 0, Maximum = 10, Wert = 0, dann ist es ziemlich offensichtlich, dass die erste Zeile, die Wert auf 1000 festgelegt wird zu einem Fehler führen wird.
Zur Lösung dieses Problems können Sie die ISupportInitialize-Schnittstelle. Zum Beispiel...
öffentliche MyControl: Control, ISupportInitialize
{
Boolescher IsInitializing = False;
Int32 mindestens = 0;
Int32-Wert = 0;
Int32-max. = 10;
void ISupportInitialize.BeginInit()
{
IsInitializing = True;
}
void ISupportInitialize.EndInit()
{
IsInitializing = False;
}
öffentliche Int32-Minimum
{
Get {return minimal;}
Satz
{
Wenn (! IsInitializing)
{
Die Validierung der hier tun
}
minimale = Value;
}
}
}
Das NET-Framework wird jede Komponente für ISupportInitialize überprüfen, bevor Sie seine Eigenschaften festlegen und wenn Wille unterstützt führen Sie die folgenden
Komponente. BeginInit();
.. .set Eigenschaften der Komponente...
Komponente. EndInit();
Erkennen, wenn Sie das Steuerelement erstellt wird
By Wiezutun
Erkennen, wenn Sie das Steuerelement erstellt wird : Mehreren tausend Tipps, um Ihr Leben einfacher machen.