מספר שאלות ( WPF ו C#) - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

מספר שאלות ( WPF ו C#)


Galos

Recommended Posts

שלום לכולם,

נתקלתי בכמה "בעיות" שאני מחפש להם פתרון הולם יותר מאשר העתקת קוד.

שאלה 1

כאשר יש לי מספר רב של כפתורים שמבצעים את אותו הדבר רק שכל אחד עושה את הדבר עבור עצמו.

למשל כפתור שמשנה את הטקסט של עצמו ברגע שהוא נלחץ.

איך אני יכול להשתמש בפונקציה אחת שאני קורה לה עם פרמטרים כלשהם והם ישנו ספציפית את הכפתור.

אגדיר את הבעיה כך

button1.Content = "text";

כאשר אני קורא לפונקציה חיצונית אין ביכלתי לדעת שbutton1 הוא זה שרוצה לשנות, אם אני משתמש בthis מן הסתם הוא חושב שזה widows ולא הכפתור עצמו, איך אני יכול לעשות שהוא ידע איזה כפתור דורש את השינוי.

שאלה 2

נניח שוב שאני משתמש בכפתורים (זה יכול להיות כל דבר אחר לצורך העניין)

איך אני עובר על מספר ספציפי מתוכם ומשנה הגדרה מסויימת, למשל

button1.Content = "text";
button2.Content = "text";
button3.Content = "text";

במקום לשנות אחד אחד לעשות לולאה (for , foreach וכו') או משהו בסגנון אשר יבחר יעבור אחד אחד וישנה הגדרה מסויימת, האם ניתן לעשות זאת, במידה וכן, איך?

שאלה 3

איך ניתן להשתמש בGRID כך שיהיה ניתן לראות את הקווי , אני מצליח רק להראות אותם בתור קו מקווקו ואיני מצליח לשנות הגדרה זאת.

שאלה 4

חסר לי DATAGRID חיפשתי בכל מקום אפשרי והוא לא נמצא, למישהו יש מושג למה?

שאלה 5

כמו בשאלה 1 אך קצת שונה , למשל אני רוצה שEVENT מסויים יהיה בכל הכפתורים איך ניתן לעשות זאת בלי לעבור על כל הכפתורים ולהגדיר להם EVENT?

תודה מראש,

גל

נ.ב.

סביבת עבודה VS2008

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

שאלה 1:

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

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


public void SetText(Button btn, String text)
{
btn.Text = text;
}

שאלה 2:

תחזיק את כל הכפתורים ברשימה מסויימת, רשימה מסוג:

List<Button>

זה נוח מאוד לדעתי, ואז פשוט תעשה:


foreach (Button btn in lstButtons)
{
btn.Text = "text";
}

כמובן ש-lstButtons זאת הרשימה שמחזיקה את כל הכפתורים שלך במקרה הזה

בנוגע לשאלות 3-4, אין לי ממש ניסיון עם אף אחד מהם ואין לי כרגע ויז'ואל סטודיו מותקן

בנוגע לשאלה 5,

תעשה כמו בשאלה מספר 2 (כלומר תעבור באמצעות לולאה על כולם) ותעשה שכולם יירשמו לאירוע מסויים,

משהו בסגנון הזה (אני לא בדיוק זוכר את הסינטקס, אבל אותו רעיון):


foreach (Button btn in lstButtons)
{
btn.OnClick += ButtonClicked;
}

כאשר ButtonClicked זאת המתודה שאתה רוצה שתיקרא כל פעם שלוחצים על הכפתורים.

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

ארכיון

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

×
  • צור חדש...