האובייקט this בc# - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

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


mimig

Recommended Posts

בס"ד

שלום,

ב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

קישור לתוכן
שתף באתרים אחרים

ארכיון

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

×
  • צור חדש...