5.2 איך קשורים עצמים אחד לשני 5.2.1 עבודה עם אוסף
עצמים
כאשר אתה שם שני פקדים על טופס, הם עצמים נפרדים בעלי מאפיין שם (Name ) שונה ,אולם הם שייכים לאותה מחלקה- CommandButton . הם ג"כ שווים בתכונה שהם שייכים לאותו טופס . אתה ראית בשלב מוקדם בפרק זה שפקד שנמצא על טופס מוכל בטופס. זה שם את הפקדים במדרג. בכדי להתיחס לפקד לפעמים תצטרך לפנות קודם לטופס אליו הוא שייך , באותה מידה שעליך להוסיף קידומת של מדינה כאשר אתה מתקשר ממדינה אחרת. שני הפקדים גם חולקים גם את עובדת היותם פקדים. כל הפקדים חולקים מספר מאפיינים אשר שונים מיתר העצמים ב VisualBasic .החלק הבא יסביר איך VisualBasic משתמשת באוסף בכדי לאחד עצמים דומים. מדרג העצמים מדרג העצמים מיצג את הסדר שבו קשורים העצמים אחד לשני , ואיך אתה יכול לגשת אליהם. בד"כ אתה לא צריך להיות מוטרד מנושא זה חוץ מכמה מקרים:
לאוסף עצמים יש את המאפיינים והשיטות שלו.אנו מתיחסים לכל עצם כחבר באוסף. כל חבר הוא מספר רציף אשר מתחיל מ 0 -זהו מספרו הסידורי. לדוגמא, אוסף הפקדים כולל את כל הפקדים הנתונים על הטופס, כמו שרואים בתמונה 5.3 .אתה יכול להשתמש באוסף בכדי לפשט את הקוד כאשר אתה צריך לבצע את אותן פעולות על כל איברי האוסף. תמונה 5.3 אוסף פקדים
לדוגמא, הקוד הבא עובר על כל אוסף הפקדים ומכניס את שמם לקופסת רשיממות: Dim MyControl as Control החלה של מאפיין או שיטה על חבר באוסף ישנן שתי תכניקות כלליות בכדי לפנןת לחבר באוסף: Controls("List1) להשתמש במספרו הסידורי: Controls(3) אתה יכול לפנות לכל האוסף ,או לכל אחד בנפרד, אתה יכול ליישם מאפיינים ושיטות בשתי הגישות: 'של פקד קופסת רשימות ל - 200 Top משנה את מאפיין מספר עצמים ב VisualBasic מכילים עצמים אחרים. לדוגמא, טופס בד"כ מכיל פקד אחד או יותר. היתרון בהכלת עצם אחד בשני הוא שע"י הפניה לעצם המכיל אנו יודעים לאיזה פקד התכוונתה. לדוגמא בתמונה 5.4 אנו מדמים שני טפסים שונים שיכולים להיות ביישום אחד בכדי להכניס חשבון הכנסות והשני הוצאות: תמונה 5.4 שני טפסים המכילים פקד בעל שם זהה
לשני הטפסים יכולה להיות קופסת רשימות בשם lstAccNo . אתה יכול לפנות לאחת באופן ספציפי ע"י ייחוס לטופס המכיל אותו: frmReceivable.lstAcctNo.AddItem 1201 ישנם כמה מקרים נפוצים ב VisualBasic שעצם מכיל עצמים אחרים. הטבלה הבאה מתארת בקיצור את האוספים השכיכים ביותר ב VisualBasic . אוסף תיאור Forms(טפסים ) מכיל טפסים שנטענים Controls(פקדים ) מכיל פקדים בטופס Printers(הדפסה ) מכיל עצמים הניתנים להדפסה מאפיין המכיל(Container ) אתה יכול להשתמש במאפיין העצם Container בכדי לשנות את העצם המכיל את העצם בתוך הטופס.הפקדים הבאים יכולים להכיל פקדים אחרים: ·
בדוגמא הבאה תוצג העברת פקד כפתור ממכיל אחד לשני בתוך הטופס. פתיחת פרויקט חדש, ציור פקד מסגרת, פקד קופסת טקסט, ופקד כפתור ע"ג טופס. הקוד הבא בשיגרת האירוע "קליק" של הטופס יגדיל את המשתנה counter וישתמש ברוטנה "Select Case " בכדי לסובב את פקד הכפתור ממכיל למכיל:
|