פורסם 2008 בספטמבר 2117 שנים למשל אני רוצה לפנות לPictureBox##=מספר כלשהולמשל בזמן לולאה שאני אוכל לפנות לכמה משתנים עם שם דומה (חוץ מאותו מספר בסוף)... במקום להעתיק את אותה שורה 82 פעם
פורסם 2008 בספטמבר 2117 שנים אני מקווה שהבנתי נכון את השאלה.הכנס את כולם לאיזשהו Collection ע"י יצירת מתודה ארוכה אך מתאימה ומשם תוכל לגשת באיטרציה לכולם בקלות.אתה יכול ליצור את האובייקטים בלולאת For ואז זה גם יהיה קצר יותר (במידה ויש קשר בין כל האובייקטים - שם דומה ומיקום יחסי דומה)
פורסם 2008 בספטמבר 2117 שנים מחבר אני אנסח שוב יש לי לוח משחק שמורכב מpicturebox יש לי 82 כאלה לכל אחד קוראים pictureboxXX מ1 עד 82עכשיו אמור לקרות משהו כאשר לוחצים על כל אחד מהתמונות האלה (משהו שונה לפי על מה שהוא לחץ)אז במקום ליצור 82 מתודות אני רוצה לדעת אם יש אפשרות לפנות אליהם עם משתנה (במקום הXX) במקום למשל להכניס את כולם למערך
פורסם 2008 בספטמבר 2117 שנים לא כל כך הבנתי למה אתה מתכוון, אבל אני אנסה לענות לך.אולי מה שאתה צריך זה להוסיף לאבויקט הזה פונקציה אחת (שאצל כולם היא תהיה) שתקבל איזהשהו פרמטר ולפיו היא תדע לעבוד.אבל אני לא בטוח שלזה אתה מתכוון.אם גם לזה אתה לא מתכוון, ואתה לא יכול להסביר את עצמך טוב יותר, אולי פשוט תפרסם כאן את הקוד שלך.
פורסם 2008 בספטמבר 2117 שנים או שתכניס את כולם למערך ואז תפנה אליהם מתוך המערךאו שתעשה מתודה שמקבלת את המספר ופונה למשתנה המתאים...
פורסם 2008 בספטמבר 2117 שנים הדבר שאתה רוצה לעשות נקרא control array (מערך של פקדים). אם אתה רוצה עוד מידע בנושא, פשוט חפש בגוגל - יש המון דוגמאות, כגון זו:http://www.acthompson.net/DotNet/ControlArrays.htm(רד לחלק של #C)כאמור, אתה צריך ליצור מערך של picturebox.כשאתה לוחץ על אחת מהתמונות, הפקד קורא ל-event הלחיצה של התמונה הזו. כשאתה שם קוד בתוך ה-event הזה, ה-visual studio למעשה אוטומטית יוצר לך פונקציה, ורושם את הפונקציה הזו ל-event הזה.מה שאתה צריך הוא ליצור פונקציה אחת, ולרשום אותה ל-eventים של כל התמונות השונות (זה הקטע עם הפונקציה hitMe בדוגמה הנ"ל).אגב, ב-VB הייתה תמיכה מובנית של השפה במערך של פקדים (כל event אוטומטית קיבל פרמטר נוסף, שהוא האידקס של הפקד במערך).
פורסם 2008 בספטמבר 2117 שנים מחבר זה מה שחיפשתיהבעיה היא שאני רוצה לעשות את הקטע הזהmyBoxes[0] = pictureBox1;myBoxes[1] = pictureBox2;myBoxes[2] = pictureBox3;myBoxes[3] = pictureBox4;אוטומטי בעזרת לולאה(כי יש לי 80+ כאלה...)
פורסם 2008 בספטמבר 2117 שנים מחבר הנה שאלה מעניינת- ניסית לקמפל את זה?don't state the obvious... and wrong
פורסם 2008 בספטמבר 2117 שנים עשיתי בפרוייקט שלי משהו מאוד דומהאני לא זוכר כל כךזה בערך הניסוח תשחק עם זה פשוטתנסה אולי להוסיף מרכאות או משהו שם "(i-1)" או משהו בסגנוןאצלי זה עבד...
פורסם 2008 בספטמבר 2117 שנים הפתרון הוא מראש ליצור את הפקדים כמערך, ולא להזין את הפקדים לתוך מערך אחרי שיצרת אותם.הסבר קצר:כשאתה יוצר טופס ב-visual studio, אז שים לב שהוא יוצר לך למעשה שני קבצים: form.cs ו-form.designer.cs.הקובץ form.designer.cs הוא קובץ שמכיל את הקוד של כל הפקדים שבטופס. פתח את הקובץ, ותראה שהקוד פשוט יוצר את כל ה-pictureboxים האלה, אחד אחרי השני (הרבה קוד אוטומטי).מה שאתה צריך לעשות הוא להחליף את כל הקוד הזה בלולאה אחת שיוצרת את כל הפקדים (כמובן תדאג שהלולאה תדע למקם אותם) ותכניס אותם למערך (או רשימה).
פורסם 2008 בספטמבר 2117 שנים מחבר טוב הצלחתי למצוא משהו בשם controls.find שאמור לעשות מערך של פקדים מתאימים... הבעיה שאני לא מצליח לעבוד עם זהאז עברתי לforeach אבל אין לי מושג מה לשים ב IN
פורסם 2008 בספטמבר 2117 שנים מחבר כי אין לי מושג בדיוק מה אמרת שם...אני לא מצליח לפנות לפקד בעזרת מחרוזת אז אני שוב מגיע ל82 שורות שאני צריך לעשות C&P להם
פורסם 2008 בספטמבר 2117 שנים איך אתה יוצר את כל הפקדים של התמונות ? ישבת ועיצבת כל אחד מהם לבד או שבנית אותם לבד בקוד בלולאה ?
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.