העברת מידע בין forms ב#c - עמוד 2 - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

העברת מידע בין forms ב#c


eido300

Recommended Posts

  • תגובות 40
  • נוצר
  • תגובה אחרונה

יואב עשיתי כל מה שאמרת, וכל מה שחשבתי שיכול לעזור:

1. עשיתי בform הראשון בנאי שמקבל כפרמטר רשימה ריקה ומחזיר אליה את הרשימה המבוקשת.

2. עשיתי בform השני בנאי שמקבל כפרמטר את הרשימה מהform הראשון ומחזיר אותה לרשימה בform השני, אבל הוא עשה עוד יותר בעיות אז מחקתי אותו.

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

4. עשיתי פונקציה שפשוט מחזירה את הlist ובform השני השמתי אותה בlist זהה והוספתי אותה תא אחרי תא listbox.

5.ועשיתי פונקציה שמקבלת list כפרמטר ומעתיקה אליו את התאים תא אחרי תא ובform השני הדפסתי אותו לtextbox (כדי

לשלול את האפשרות שאני פשוט מוסיף את זה לא נכון).

ושום דבר לא הצליח... הקבצים בהודעה הבאה. (מתוקנים)

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

בטופס הראשון אני מוסיף נתונים לרשימה ובטופס השני אני מציג אותם בlistbox, והרשימה לא עוברת לטופס השני, לא משנה מה אני עושה.

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

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

אין לי ויזואל כדי להריץ, אבל ממה שאני מסתכל:

1. התוכנית שלך מתחילה ב FORM1.

2. אתה מייצר שם בלחיצה על כפתור FORM2.

3. ה FORM2 מייצר FORM1 חדש (ואחר מהראשון).

התוכנית שלך נראית לי מסובכת... אתה יכול לעשות את התוכנית הפשוטה ביותר שמדגימה את הבעיה (אם אפשר רק עם 2 טפסים ורק עם אתחול בודד של כל אחד מהם ?)

ספרייה באנגלית כותבים library

----

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

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

מה שהעלתי בתור פרוייקט קצת שונה ממה שכתבתי ב-pastbin.

עכשיו העלתי את זה שוב ל-pastbin כדי שיהיה יותר נגיש (אגב, קוד #c אפשר לראות ולכתוב גם בכתבן רגיל, למרות שזה נראה לי ממש לא נוח), זה הרבה יותר ברור, עם הסבר על כל דבר (באנגלית, כמו שראית האנגלית שלי לא משהו, אז תסלח לי על השגיאות...), אז אלה הם הדפים המעודכנים: המחלקה החדשה, הform הראשון, והform השני.

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

באחד הבנאים או השיטות כן העברתי את הרשימה כמו שהיא, וזה לא ממש עזר.

ולגבי 3 שאני מייצר form1 חדש ואחר מהראשון, אני מאמין שהבעיה נמצאת שם, אם כשאני מייצר משתנה של form1 הוא יוצר לי משתנה חדש שלא קשור לטופס הראשון שעכשיו יצרתי בו את הרשימה, איך אני אמור להעביר אליו את הרשימה?

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

למה אתה מייצר עותק חדש של Form1 בתוך Form2 ?!?

תוסיף ל form2 בנאי שמקבל עותק של Form1.

כשאתה מייצר form2 חדש ב form1, תייצר אותו עם הבנאי הזה ותעביר לו את ה form1 הנוכחי.

בתוך form2 תשמור במשתנה מקומית את form1 ותקח ממנו את הרשימה ע"י public property

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

אם אני לא אצור משתנה של form1 ב-form2, איך אני יוכל לגשת אל השיטות או המשתנים שקיימים בform1?

עשיתי בערך ככה וזה תקע את התוכנה עוד יותר, (כשעשיתי את זה הlistbox של הטופס השני בכלל לא נוצרו), אם תסתכל בטופס הראשון בשורות 76-78 ובשני ב21-29 תראה שיצרתי בנאי שבמקום שיעביר את כל הטופס מעביר רק את הרשימה.

ואיך עושים לכזאת רשימה property? כל פעם שיצרתי property לרשימה הקומפלייר כתב לי שגיאות.

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

אוקיי, אז איך זה אמור להיות?


public Form2(form1 f1)
{
foreach (CardIndex card in f1.lOcI)
{
this.lOci.add(card.book);
}
}

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

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

ארכיון

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


×
  • צור חדש...