יש לי event שיוצר אינסטנס של טופס אחר ופותח אותו איך אני יכול לעשות שברגע שהמשתמש סוגר את הטופס שנפתח, התוכנית תעשה dispose לאינסטנס שיצרתי? או שאולי יש דרך יעילה יותר?
לאור תשובתך שמתי לב אם למשל יש לי טופס פתוח שאני רוצה לסגור, אני יכול להשתמש במתודות Close או Dispose, מה ההבדלים בינהן? כי בסך הכל נראה ששניהם סוגרות את הטופס אבל חוץ מהשם, יש הבדל? ניקוי זיכרון? מה?
Close ו Dispose הם שני עולמות נפרדים. בעוד ש Close היא מתודה של מחלקת Page אשר תפקידה לסגור את החלון, Dispose היא שגרה אשר הדף ממש משום שהוא ממש את הממשק IDisposable. ה Dispose הוא חלק מ Design Pattern שמיקרוסופט מימשה בכדי לטפל בשחרור זיכרון. הטיפול בשחרור זיכרון נעשה ע"י ה GC אבל ה GC מטפל ב Managed Typesולא ב Unmanaged Types כגון ה Handle של החלון. במימוש ה Dispose החלון מנקה את ה Unmamaged memory ולכן רצוי לקרוא ל Dispose.