שלח תשובה

זירת השאלות

1194
צפיות
2
תשובות

C# מערך דו-ממדי

,‏ 26 במאי, 2013

שלום לכולם,
יצרתי בקוד מערך דו ממדי של תמונות והצגתי אותם על הפורם, רציתי לדעת איך לכתוב פרוצדורה שתתאים לאברי המערך?
אני אסביר יותר – נגיד שיש לי מערך תמונות של 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 תשובות

  1. moshikod הגיב:

    אחרי חיפושים באינטרנט גיליתי שכדי ליצור את הפרוצדורה בזמן ריצה אני צריך לכתוב משהו בסגנון של:

    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 כפרמטרים אבל אני לא יודע איך…

  2. moshikod הגיב:

    בסוף מצאתי…
    כדי להוסיף את האפשרות לקריאה לפרוצדורה צריך לכתוב:
    ImgArr[i][j].Click += ImgArr_Click;

    והכותרת של הפרוצדורה עצמה:
    void ImgArr_Click(object sender, EventArgs e)

    כדי לקבל את האיבר המדויק שנלחץ:
    var box = sender as PictureBox;

שלח תשובה