עבור לתוכן

C# WFA שליחת מיקום של אובייקט במערך

Featured Replies

פורסם

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

קוד:

http://pastebin.com/fa1dFzFt

http://pastebin.com/qH9Rgv36

לClick_Pic אני רוצה להעביר את האינדקסים (מיקום במערך תמונות) של התמונה הנלחצת

פורסם

הפרמטר הראשון שמקבלת Click_Pic, שנקרא sender, הוא האובייקט שהקפיץ את האירוע.

פורסם
  • מחבר

כן אני יודע,אבל איך אני יכול לדעת את המיקום שלו במערך?נגיד הכפתור שנלחץ הוא במקום

[1][3]

אני צריך את המיקום כדי שהיה לי נוח יותר לבצע כמה בדיקות :\

נערך על-ידי MrAlex

פורסם

לכל פקד (כמו כפתור או תמונה) יש שדה בשם Tag שאתה יכול לשמור בו איזה אובייקט שבא לך. אתה יכול לשמור שם Tuple או מערך בגודל 2 שיחזיק את הקואורדינטות.

פורסם
  • מחבר
לכל פקד (כמו כפתור או תמונה) יש שדה בשם Tag שאתה יכול לשמור בו איזה אובייקט שבא לך. אתה יכול לשמור שם Tuple או מערך בגודל 2 שיחזיק את הקואורדינטות.

אני מעדיף להמנע מTAG,במקרה הכי גרועה אני אשתמש בו

מצאתי דרך להעביר אבל עכשיו יש בעיה אחרת:

http://pastebin.com/ee7JimtW

זה שולח לי כל פעם שתמונה נלחצת את הערכים 8,8

אשמח לפתרון שישלח מיקום ולא את הגודל.

תודה :)

פורסם

נתקלת בבעיית ה-Closure המפורסמת :)

הפתרון הוא ליצור משתנים מקומיים בתוך הלולאה ולהעביר אותם ללמבדא במקום משתני הלולאה, ככה:

 for (int row = 0; row < 8; row++)
{
for (int col = 0; col < 8; col++)
{
int row1 = row, col1 = col;
board[row, col].Click += (sender, e) => Click_Pic(sender, e, row1, col1);
}
}

פורסם
  • מחבר
נתקלת בבעיית ה-Closure המפורסמת :)

הפתרון הוא ליצור משתנים מקומיים בתוך הלולאה ולהעביר אותם ללמבדא במקום משתני הלולאה, ככה:

 for (int row = 0; row < 8; row++)
{
for (int col = 0; col < 8; col++)
{
int row1 = row, col1 = col;
board[row, col].Click += (sender, e) => Click_Pic(sender, e, row1, col1);
}
}

פעם ראשונה שאני פוגש בזה:mad0233:

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים