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

C#| העברת מידע בין forms


ofersto

Recommended Posts

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


Form2 f = new Form2();
if(f.ShowDialog(this) == DialogResult.OK){
listbox1.Items.Add(f.name);
}

בכל מקרה תודה רבה.

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

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

רק הערה קטנה - אחרי שמשתמשים ב-ShowDialog צריך לעשות Dispose לטופס, או להשתמש ב-using. דהיינו:


using (Form2 f = new Form2()) {
if(f.ShowDialog(this) == DialogResult.OK){
listbox1.Items.Add(f.name);
}
}

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

נחמד.

הייתי מציע לך כמה דברים:

א. תשתמש ב-XDocument וחבריו במקום XmlDocument. אלה מחלקות חדשות יותר שנותנות ממשק יותר נוח לבניית ועריכת XML.

ב. עדיף כבר ש-Form2 יהיה תיבת דו שיח בלבד, שלא עושה שום עבודה מעבר לזה. כלומר, שכל מה שהוא יעשה זה יקח קלט מהמשתמש, ומישהו מבחוץ (במקרה הזה Form1) יהיה אחראי להכניס אותו לתוך ה-XML.

ג. מומלץ לתת שמות יותר אינפורמטיביים לפקדים ולטפסים שלך.

יש עוד כל מיני הערות שקשורות יותר לענייני תכנות מונחה עצמים, אבל עדיף כנראה שתמשיך ללמוד קודם.

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

לא, תיבת דו שיח זה dialog box. כמו שהסברתי קודם, תיבת דו שיח היא טופס "זמני" שנועד להציג למשתמש מידע או לקבל ממנו קלט ואז להיסגר. זה בניגוד לטופס "רגיל" שאמור להישאר פתוח כל הזמן. דוגמה לתיבת דו שיח היא ה-OpenFileDialog שהזכרתי קודם.

מבחינת קוד תיבת דו שיח היא טופס רגיל לחלוטין.

MessageBox זה גם סוג של תיבת דו שיח.

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

תיכנס לתיעוד של ListBox ב-msdn ותחפש :)

הוא התכוון לכאן.

אני לא יודע איך אתה באנגלית, אבל במידה ואתה לא כ"כ טוב אתה יכול להעביר את הקישור לתרגום של .

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

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

ארכיון

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

×
  • צור חדש...