1654
צפיות
צפיות
2
תשובות
תשובות
C# מערך דו-ממדי
שלום לכולם,
יצרתי בקוד מערך דו ממדי של תמונות והצגתי אותם על הפורם, רציתי לדעת איך לכתוב פרוצדורה שתתאים לאברי המערך?
אני אסביר יותר – נגיד שיש לי מערך תמונות של 5 * 5 , עכשיו כמו שיש את השורה :
private void BExit_Click(object sender, EventArgs e)
אני רוצה לכתוב משהו שיתאים לתמונות שבמערך, למשל שלחיצה על אחת התמונות תציג ב label את הערכים i ו – j של התמונה שנלחצה. (אני צריך רק את הכותרת, ולא את הגוף)
משהו בסגנון של :
private void ImgArr[i][j]_Click(object sender, EventArgs e)
*אני כותב ב visual C# 2010.
תודה מראש,
מושיקו.
2 תשובות
אחרי חיפושים באינטרנט גיליתי שכדי ליצור את הפרוצדורה בזמן ריצה אני צריך לכתוב משהו בסגנון של:
m_pictureBox.Click += new EventHandler(m_pictureBox_Click);
m_pictureBox.MouseDown += new MouseEventHandler(m_pictureBox_MouseDown);
אבל השאלה היא איך אני עושה זאת כאשר מדובר במערך דו ממדי של תמונות ולא בתמונה יחידה?
ניסיתי במקום לכתוב m_pictureBox_Click לכתוב m_pictureBox[i][j]_Click אבל זה מסומן כטעות…
אני חושב שצריך להשאיר את השם m_pictureBox_Click ולהעביר את i ו – j כפרמטרים אבל אני לא יודע איך…
בסוף מצאתי…
כדי להוסיף את האפשרות לקריאה לפרוצדורה צריך לכתוב:
ImgArr[i][j].Click += ImgArr_Click;
והכותרת של הפרוצדורה עצמה:
void ImgArr_Click(object sender, EventArgs e)
כדי לקבל את האיבר המדויק שנלחץ:
var box = sender as PictureBox;