שאלה פשוטה ב-vb.net

paskuniak

New member
שאלה פשוטה ב-vb.net

איך אני קורא לפונקציה הנמצאת בקוד של ה-form הראשי?
 

yuval k

New member
מאיפה אתה רוצה לקרוא להּ?

מה היחס בין המקום ממנו אתה רוצה לקרוא לפונ' לבין הטופס הראשי?
 

gilad g

New member
שתי אפשרויות:

1. להפוך את המתודה שאליה אנחנו קוראים ב-form הראשי לסטטית (Shared ב-VB), ולקרוא לה באופן הבא:
frmMain.doSometing()​
כאשר frmMain הוא הטופס הראשי שלך. שיטה זו היא פחות עדיפה, כי היא פחות OOP-ית, ובכלל, עדיף להשתמש בכמה שפחות מתודות סטטיות (בגלל Thread Safety, וכו') 2. להשתמש ב-Owner. ב-form הראשי, כדי לפתוח את הform המשני אתה כותב ככה:
frmChild myChild = new frmChild(); //בעצם, יצרנו מופע של הטופס הבן myChild.Owner = this; myChild.Show(); //לא בטוח שיש צורך בשורה הזאת​
...וב-form המשני:
this.Owner.doSomething();​
 
למעלה