PracticU

פרויקט מעשי ב-#C - תוכנת צייר - חלק 7

בלי כתוביותעם כתוביות
PracticU › פרויקט מעשי ב-#C - תוכנת צייר › פרויקט מעשי ב-#C - תוכנת צייר - חלק 7
פרויקט מעשי ב-#C - תוכנת צייר - חלק 7
בשיעור הקודם הציור הגיב לתנועת העכבר גם בלי לחיצה, ובשיעור הזה מגבילים את הציור ללחיצה של הכפתור השמאלי בלבד. בנוסף רואים בעיה שנשארת: הציור נמחק כשהחלון מוסתר.
השלבים העיקריים
1. בדיקת מצב העכבר: ב-MouseEventArgs יש שדה Button שמציין איזה כפתור לחוץ. משווים אותו ל-MouseButtons.Left.
2. ציור רק בלחיצה: את הקוד של הציור מכניסים לתנאי, כך שהוא ירוץ רק כשהכפתור השמאלי לחוץ.
3. בדיקה: מזיזים את העכבר בלי לחיצה ואין ציור. בלחיצה ותנועה הציור מופיע.
טעויות נפוצות
- כשמקטינים את החלון ואז מגדילים אותו, החלק שהיה מוסתר נמחק. החלון לא מצייר את עצמו מחדש, ולכן צריך לטפל בזה בנפרד (בשיעור הבא).
בסיום השיעור התלמיד יודע לסנן ציור לפי הכפתור שלחוץ, ומכיר את הבעיה של ציור שנמחק כשהחלון מוסתר.
השיעור הבא בקורס: פרויקט מעשי ב-#C - תוכנת צייר - חלק 8

פרקי ההרצאה: פרויקט מעשי ב-#C - תוכנת צייר - חלק 7

  1. 00:00

    בעיית הציור גם בלי לחיצה

  2. 00:43

    בדיקה האם הכפתור השמאלי לחוץ

  3. 01:22

    שימוש ב-MouseButtons ו-Left

  4. 02:06

    הרצה: ציור רק כשהעכבר לחוץ

  5. 02:50

    בעיה: ציור נחתך בשינוי גודל

  6. 03:47

    מחיקת הציור במזעור ובהעלאה

תמלול ההרצאה: פרויקט מעשי ב-#C - תוכנת צייר - חלק 7

הטקסט המלא של הדקות הראשונות בהרצאה «פרויקט מעשי ב-#C - תוכנת צייר - חלק 7» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:03

    בשיעור הקודם רצינו לצייר וגילינו שאנחנו מציירים דברים מוזרים קורים לנו. קודם כל אנחנו לא מציירים רק כאשר אנחנו לוחצים עם העכבר.

  2. 00:23

    ואולי זה בעצם כל הבעיה שלנו. אז בואו ננסה לתקן את זה. אני רוצה לצייר רק כאשר אני לוחץ עם העכבר. אם אני לא לוחץ, בעצם אני לא רוצה לעשות ולא כלום.

  3. 00:43

    אז מה אנחנו בעצם אומרים? אנחנו אומרים שאם עכבר לא לחוץ, טוב, איך אני יכול לגלות אם העכבר לחוץ או לא? אז למזלנו ה-E הזה הוא MouseEventArgs, הוא האירועים של העכבר, אבל הוא גם מכיל את מצב העכבר, זה E.ButtonGetWhichMouseButtonWasPressed.

  4. 01:12

    אז נגיד לו אם Button שווה ל... ואז הוא מראה לי שיש לי פה enum system windows forms mouse button specifies constant the define which mouse button was pressed.

  5. 01:26

    נבחר אותו ונגיד לו נקודה ואז נראה שאני יכול בעצם להגיד לו האם הכפתור השמאלי לחוץ האמצעי לחוץ אין היום כפתורים אמצעיים האם האמני לחוץ יש גם extra buttons שלי אין אבל יש גם האם שום דבר לא לחוץ.

  6. 01:50

    בואו נגיד לו שאם השמאלי לחוץ רק אז תבצע את הציור. אם השמאלי לא לחוץ, אל תצייר. בואו נריץ את זה. אני זז, שום דבר לא מתרחש.

  7. 02:19

    אני אצייר, ואתם רואים שהוא מצייר. וזה מה שרצינו. הוא מצייר רק כאשר אני לוחץ. בואו תשמעו את זה. אני לא יודע אם הבנתם.

  8. 02:41

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

  9. 03:47

    אותו ואעלה אותו שוב הוא נמחק אם אני שוב אצייר לי משהו ואז אני אקח אפתח לי חלון

לקורס המלא: פרויקט מעשי ב‑#C אונליין

ההרצאה הקודמת: פרויקט מעשי ב-#C - תוכנת צייר - חלק 6

ההרצאה הבאה: פרויקט מעשי ב-#C - תוכנת צייר - חלק 8

הרצאות קשורות מקורסים אחרים

  • תרגיל 24 - תוכנת צ'אט - חלק 1
  • פרויקט מעשי ב-#C - ספר טלפונים - חלק 1
  • תרגיל מעשי Delegate Event
  • שדרוג צייר שלנו על canvas

קורסים נוספים במסלול

  • קורס WinForms - תוכנות רגילות בווינדוס
  • פרויקט מעשי ב-#C - בונים מחשבון פשוט
  • פרויקט מעשי ב-#C - ספר טלפונים
  • קורס ADO.NET - חיבור אתר למסד נתונים
  • קורס תכנות מתקדם - #Advanced .NET C
  • קורס WCF - תקשורת למתקדמים בדוט-נט