Mam funkcję, i chcę, aby ta funkcja wyrysowała mi kilka stringów na początku działania programu.
public static void DrawDescriptions(Appearance appearance, PaintEventArgs e)
{
...
}
W Formie dodaję funkcje do obsługi zdarzenia:
private void Form1_Paint(object sender, PaintEventArgs e)
{
Drawing.DrawDescriptions(_appearance, e);
}
I wszystko niby działa, ale to zdarzenie wywołuje się wielokrotnie, podczas inicjalizacji programu, i wielokrotnie podczas działania programu. I nie wiem, czy słusznie postrzegam to jako coś niepożądanego. Wolałbym, aby to zdarzenie wywołało się tylko jeden raz - wyrysowało mi to co trzeba i już (choć być może nie do końca rozumiem, jak to działa)
Wydaje się, że można rozwiązać to pisząc w odpowiednim momencie:
this.Paint -= new System.Windows.Forms.PaintEventHandler(this.Form1_Paint);
Ale nie wiem, czy to właściwe postępowanie.