object sender, System.EventArgs e

object sender, System.EventArgs e

שלום, כמעט בכל פונקציה הנוצרת אוטומטית, מתווספים אליה2 הפרמטרים הנ"ל. מתוך שמם, אני יכול להבין מה אמור להיות תפקידם, אבל האם זה באמת שימושי ? דוגמא אולי ? תודה על זמנכם.
 

yuval k

New member
כן, זה שימושי...

נתחיל מ-e: הארגומנטים לאירוע. בתוך המחלקה הזו (System.EventArgs או כל יורש שלה, למשל System.Windows.Forms.MouseEventArgs) יכולים להיות משתנים שונים המשוייכים לאירוע, בין אם אלו קואורדינטות לחיצה או משתנה שמאפשר לבטל את סגירת התוכנית. עם sender אתה יכול לקבל את האובייקט שהקפיץ את האירוע, וכך אתה יכול לשייך למשל אירוע מסויים לכל הפריטים בתפריט שלך, ולהקפיץ חלון הודעה עם שם האובייקט שגרם לאירוע. מעניין לדעת: Andres Hejlsberg, מתכנן #C תיכנן גם את Delphi (Object Pascal), וזה פיצ'ר שפה משם
 
אתה מתכוון

שאם למשל הפונקציה היא Click של איזה כפתור, אז ב e, בין השאר - אוכל לקבל את קורדינאטות הלחיצה ? אני רואה ש e הוא תמיד System.EventArgs, כלומר - מחלקה קבועה, איך זה שבכל ארוע, היאתחזיר לי את הנתונים הרלוונטים לאותו ארוע ? אגב, לא הבנתי את הדוגמא שלך לגבי sender, אתה יכול לחדד ?
10x !
 

yuval k

New member
../images/Emo26.gif

MouseEventArgs זה לא באירוע Click... נסה ליצור אירוע MouseDown, ותראה שאתה יכול לקבל את ה-X וה-Y של הלחיצה מתוך x. sender מאפשר לך לדעת איזה פקד על הטופס שלך הקפיץ את האירוע... אם תהיה ספציפי יותר, אוכל לעזור יותר
 

gilad g

New member
בקשר ל-System.EventArgs

System.EventArgs היא מחלקה "ריקה". אין בה כלום. היא סתם שם בשביל ה"יופי" של הקוד שלך... כדי לשמור על פורמט אחיד של EventHandlers. EventArgs
 
למעלה