עבור לתוכן

האובייקט this בc#

Featured Replies

פורסם

בס"ד

שלום,

בform מסויים יש לי מספר כפתורים.

אני רוצה שבלחיצה על כל כפתור ישמר לי הname של הכפתור כמשתנה שמוכר בכל הפרויקט (גלובלי)

מה שעשיתי זה הגדרתי משתנה סטטי שבסוף נקרא : Home.h

עבור כל לחיצה של כפתור כתבתי קוד כזה: home.h=this.name.tostring();

מה שקורה בפועל זה שהוא מכניס בתוך home.h את השם של הform ולא את השם של הכפתור הנלחץ.

האם כך אמור להתנהל : שthis מכיר שהוא המסך.??

או שיש לי בעיה בקוד??

עזרה.. תודה

פורסם

this מחזיר לך את ה- Class שבו אתה נמצא.

אם אתה נמצא בתוך event handler ואתה רוצה לקבל את השם של הכפתור שהקפיץ את ה- event אתה יכול לעשות casting ל- sender ל- Button

למשל ככה

Button but = Sender as Button;

ואם אתה נמצא ב- Form ונתת שם לכפתור אתה פשוט יכול לגשת אליו ממש עם השם שלו - button1.Name לדוגמה...

פורסם
  • מחבר

בס"ד.

לא יאומן!!!!

אבל אני צריכה שהbut.name לא יוכר רק בתוך הclass

אני צריכה אותו משתנה גלובלי לכל הformים..

איך עושים את זה..??

וגם - עוד שאלה: מה זה casting

תודה - עזר לי מאד!!

פורסם

כדי לגשת לכפתור הזה מ-Forms אחרים, את צריכה שהם יכירו את ה- Form שבו הכפתור הזה נמצא.

בגדול Casting זה הפיכה של אובייקט מסוג מסויים לאובייקט מסוג אחר. (לא בדיוק אבל זה הסבר פשטני)

ה- Casting שהסברתי לך עליו פה קשור לפולימורפיזם.

את יכולה לקרוא על זה כאן

http://msdn.microsoft.com/en-us/library/ms173105.aspx

http://msdn.microsoft.com/en-us/library/ms173152(v=vs.80).aspx

ארכיון

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

דיונים חדשים