
e בפונקציות האירועים של הציור, מאיפה הוא מגיע, ומדוע מערכת ההפעלה היא שקוראת לפונקציות האלה ולא הסביבה הפיתוח.sender מציין מי שלח את האירוע.Button שמזהה איזה כפתור לחוץ, Clicks שסופר את מספר הלחיצות, ו-Location. Go to Definition על שם הטיפוס מראה את ההסבר המלא.Console.WriteLine בתוכנת WinForms מדפיס לחלון Output (Ctrl+Alt+O). השורה הראשונה שמודפסת היא השם המלא של הטיפוס.string.Format, והתווית מתעדכנת בכל תנועה של העכבר.הטקסט המלא של הדקות הראשונות בהרצאה «פרויקט מעשי ב-#C - תוכנת צייר - חלק 6» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
התבקשתי להסביר משהו מההרצאה, אני אכנס לפרופרטיז שלו, למה הוא כזה איטי? נורא איטי, אני לא יודע למה אני אגרור את זה לכאן. נלך לאירועים של הפרופרטיז, ויש לנו פה אירוע mouse down ואירוע mouse move וmouse up. בואו נלך ל-mouse down.
אוקיי, אז ב-mouse down, ואני רואה שגם ב-mouse up וגם ב-mouse move, אנחנו תמיד מקבלים את e מסוג mouseEventOrgs.
e הוא פרמטר, זה שם הפרמטר, וmouseEventOrgs זה הטיפוס, כמו שכאן, sender זה הפרמטר, והוא מטיפוס Object. פונקציה פורום אחד לא מקבלת פרמטרים, ובואו נראה מה יש פה, אה, זה כל הפונקציות, הבנתי.
בקיצור, אז התבקשתי להסביר מה זה ה-e הזה. מה זה ה-e הזה? אז התבקשתי להסביר, אוקיי, זה ממשיך. אז התבקשתי להסביר מה זה בעצם Mouse, הוויז'ל סטודיו תקוע?
תקוע. לא מגיב. בר ימני הוא לא מגיב, הוויז'ל סטודיו כן מגיב. אקדמיה לא מגיבה. טוב, בינתיים עם הקליטה, אבל היא לא מגיבה לכלום.
בסדר. אז התבקשתי להסביר מה זה Mouse Event Args E. קודם כל E הוא מסוג Mouse Event Args. מה זה אבל בעצם Mouse Event Args?
קודם כל אפשר לרחף מעליו ולראות שהוא אומר משהו הוא אומר Class System Windows Forms Mouse Event Orange Provides Data for System Windows Forms Control Mouse Up System Windows Forms Control Mouse Down הנה האקדמיה חזרה אלינו והיא שוב תקועה, נורא מוזר
טוב, אז דבר ראשון כדי להבין מה זה Mouse Event, אה רצינו להמשיך לקרוא בקיצור, בוא נעשה על זה על Mouse Event Orange, זה חבר ימני וgo to definition ואנחנו מגיעים לקובץ mouse event לא מראה לי פה את שם אלא נעשה על זה קליק ונלך פה לפרופרטיז לא מראה לי את הפרופרטיז של הקובץ עכברי מניע לקובץ open containing folder בקיצור יש פה איזה קובץ system windows
forms mouse event arg.cs אוקיי זה הקובץ הזה ובקובץ הזה יש פה את mouse event args שיורש מ-event args וכאן יש את ההסבר שזה עתה קראנו. אז מה הוא אומר? הוא אומר שהמיוס איבנט אורגס provides data for the mouse up.
המיוס איבנט אורגס נותן שירותי דאטה עבור אירוע mouse up, עבור אירוע mouse down ועבור אירוע mouse move, האירועים.
כמו אצלנו, אצלנו יש שלושה אירועים mouse down, ובשלושתם אנחנו באמת מקבלים Mouse Event Orgs ופה הוא מראה לנו בצורה מאוד נחמדה של Mouse Event Orgs קודם כל הוא יורש מ-Event Orgs שאנחנו עדיין לא יודעים בשלב זה כנראה מה זה ירושה עוד נלמד את זה בהמשך ואנחנו רואים פה את הדבר הזה זה קונסטרקטור עוד נלמד על
זה בהמשך ויש פה יש פה שדה Mouse Buttons סליחה, שדה בטן מסוג מאוס בטן, ושדה קליקס מסוג אינט, ושדה לוקיישן, ושדה איקס. בקיצור, יש פה מחלקה, מחלקת Mouse Event Arcs, אנחנו עוד נלמד בהמשך מה זה קלאס ומה זה מחלקה, אבל אנחנו כבר עכשיו יכולים להתחיל לעשות שימוש בדברים האלה.
לדוגמה, כשאחד מהאירועים האלו מופעל, אז אנחנו מקבלים את E מסוג Mouse Event Arcs, מה אנחנו יכולים לעשות באי שימוש? איזה שימוש לדוגמה?
לדוגמה, אנחנו יכולים לפנות ל-e ולעשות e.x. מה זה e.x? זה ה-x איפה שהאירוע mouse move יתרחש. mouse move יתרחש איפשהו על המסך, ואיפשהו הזה יש לו קואורדינטות x ו-y, x זה רוחב המסך, ו-y זה גובה המסך, זה 0,0.
מה שאי אומר לנו, אחד מהדברים שאי אומר לנו זה את ה-X. איפה ברוחב המסך יתרחש ה-MouseMove ועוד דבר שאומר לנו זה את ה-Y. איפה בגובה המסך יתרחש ה-MouseMove.
כל פעם שהעכבר זז, אז MouseMove מופעלת. כל פעם שאני מזיז את העכבר, MouseMove מופעלת ובכל פעם ש-MouseMove מופעלת, אז היא מקבלת את E מסוג Mouse Event R ובתוך ה-E הזה יש את ה-X ואת ה-Y שאומרים ביחד לאן העכבר זז.
עכשיו, Mouse Move מופעלת הרבה מאוד פעמים בשנייה כשאני מזיז את העכבר, אז Mouse Move הופעלה כאן וכאן וכאן וכאן וכאן וכאן וכאן. היא הופעלה כמה פעמים ובכל פעם שהיא הופעלה גם אומרים לה איפה העכבר.
העכבר ב-X ב-Y. כל פעם שאני זז אחבר ב-X ב-Y. אני יכול להדפיס במרל סמוב, אולי נדפיס וזה יהיה אפילו יותר ברור, אני אעשה console.rightline למרות שאנחנו לא באפליקציה קונסולואית אני מקווה שאנחנו נצליח לראות אולי אפילו את E נראה ואם לא את E אז לפחות את E.X ואת E.Y ורק ניתן לו איזשהו פורמט שבתוכו להציג אותם זה
יהיה הפרמטר הראשון וזה יהיה הפרמטר השני. ופה נכתוב x y משהו שכזאת או נכתוב לוקיישן לוקיישן ככה וניתן לזה לרוץ אני זז ומצייר כל הכבוד לו על כך אבל אני אלך פה לחלון יש פה שני חלונות אני רוצה לפתוח עוד חלון בואו רגע ננעץ אותם.
כדי לפתוח עוד חלון, מעבר ל-Air ו-Immediate, אני רוצה את ה-Output, אז קונטרול Alt-O פותח לי את חלון ה-Output.
אני יכול להגיע גם לחלון ה-Output בעזרת View ו-Output. קונטרול W-O הם אומרים, אני אומר קונטרול Alt-O, אלה שתי דרכים לפתוח, הם דווקא מפרסמים את זאת, בסדר?
ומה שאנחנו רואים ב-Output זה בעצם את מה שאנחנו עושים לו Console Rightline. ואני כותב console right line ואין console וזה לא console application אז הוא מדפיס את זה לoutput ואז אני יכול לקרוא כאן הכל.
עכשיו שימו לב שהוא מדפיס לי בכל פעם שתי שורות אני יכול לענות את זה למעלה דרך אגב השורות הראשונות כי אני הגעתי פה עד למעלה בשורות הראשונות הוא מראה לי את הטעינה של התוכנית הוא טוען את התוכנית זה גם כן נושא מאוד מעניין והוא עושה כל מיני דברים.
ואז הוא מצפיס לי את MouseEventOrg ואת Location, MouseEventOrg ואת Location. שימו לב, השורה הראשונה מודפסת מכיוון שביקשת ממנו להדפיס את E. כשאני אומר לו להדפיס את E או להדפיס כל טיפוס, אז הרבה פעמים הוא מצפיס לי פשוט את הטיפוס של הטיפוס.