פורסם 2009 ביוני 2116 שנים 1. איך עושים שבלחיצה על כפתור יפתח לי חלון חדש? (ויש אפשרות שהשני יסגר?)2. האם אפשר להכניס נתונים מכמה חלונות שונים לתוך textbox ולהשוות ביניהם? איפה רושמים את ההשוואה בקוד?
פורסם 2009 ביוני 2116 שנים 1. הפונקציה Show פותחת טופסhttp://msdn.microsoft.com/en-us/library/system.windows.forms.control.show.aspxוהפונקציה Close סוגרתhttp://msdn.microsoft.com/en-us/library/system.windows.forms.form.close.aspx2. טופס (Form) הוא אובייקט לכל דבר. אין בעיה להגדיר לו פונקציות ואיברים נוספים.
פורסם 2009 ביוני 2416 שנים מחבר בניתי חלון, בו אני מקבלת מהמשתמש פרמטרים של : שם, גיל, מקום מגורים, מקצוע- ואני רוצה לשמור אותם ברשימה של אובייקטים מסוג student.איפה אני מצהירה על הרשימה (כדי שכל המחלקות והחלונות של התכנית יכירו אותה ויוכלו להשתמש בה)?
פורסם 2009 ביוני 2416 שנים את יכולה להגדיר אותה כ datamember סטטי,או שאת יכולה להשתמש באותו חלון כל פעם, ולשמור את הרשימה בחלון עצמו
פורסם 2009 ביוני 2416 שנים לרוב מומלץ לעשות הפרדה בין ה-GUI והלוגיקה.תגדירי אובייקט כלשהו שמכיל את המידע של התכנית שלך (כלומר הוא יכיל את הרשימה של סטודנטים), ואת האובייקט הזה תוכלי להעביר בין הטפסים השונים שלך (כמו שאמרתי, טופס הוא קלאס לכל דבר).
פורסם 2009 ביוני 2416 שנים מחבר מקווה שזו לא דרך עקומה מדי- אבל כתבתי קודם את התכנית ללא הגרפיקה, וכך בmain הצהרתי על רשימה וקראתי לפונקציה add מהמחלקה על מנת להוסיף נתונים.עכשיו:יש לי את התכנית שמריצה את החלון - שבו בלחיצה על כפתור add נפתח לי חלון חדש עם textbox למילוי השדות, וכפתור לאישור.בלחיצה על כפתור האישור אני רוצה לקרוא לפונקציה add עם הנתונים שהמשתמש הכניס - אבל הclass לא מכיר את הפונקציה add של המחלקה האחרת ???
פורסם 2009 ביוני 2416 שנים לא רק שהדרך שלך לא עקומה, זו אפילו הדרך המומלצת. כמו שאמרתי, מומלץ להפריד בין הלוגיקה וה-GUI, מה שאומר שקודם כל כותבים את הלוגיקה ואחר כך כותבים את ה-GUI שישתמש בה.בלחיצה על כפתור האישור אני רוצה לקרוא לפונקציה add עם הנתונים שהמשתמש הכניס - אבל הclass לא מכיר את הפונקציה add של המחלקה האחרת ???אז תעשי שיכיר. או שתדאגי שהטופס יחזיק מצביע לרשימת הסטודנטים (ותדאגי להעביר לו את הרשימה הזו בבנאי), או שתבני קלאס שיעטוף את הרשימה, ותעבירי אותו לטופס (הפתרון הזה קצת יותר מסורבל, אבל הוא תורם לאבסטרקציה).
פורסם 2009 ביוני 2416 שנים מחבר תודה, הצלחתי.<ואיך אני הורסת את החלון של מילוי פרטים?>ועוד שתי שאלות:1. מהי הפקודה שכפתור יהיה 'כבוי'?2. איך אפשר להדפיס למשתמש הודעות שגיאה ממנגנון try- catch (כלומר, איך מתוך הקובץ אני קוראת לmessageBox)?
פורסם 2009 ביוני 2416 שנים 1. את מתכוונת שאי אפשר יהיה ללחוץ עליו?http://msdn.microsoft.com/en-us/library/system.windows.forms.control.enabled(VS.80).aspx2. באמצעות MessageBox.Showhttp://msdn.microsoft.com/en-us/library/system.windows.forms.messagebox.show(VS.80).aspxשימי לב שכדאי לפתוח את ה-message box רק מתוך ה-GUI. כלומר, אם קופצת לך שגיאה ברמת הלוגיקה, אז מומלץ לא לטפל בה (או לתפוס אותה ולזרוק שגיאה אחרת במקומה) ולתת ל-GUI שקרא לה לטפל בשגיאה.
פורסם 2009 ביוני 2516 שנים מחבר עוד שאלות:א. איך עושים שכפתורי radio יהיו בקבוצה- כך שיהיה אפשר לבחור כל פעם באחד מהם?ב. יש אפשרות שיפתח חלון עם הקבצים שעל המחשב (כמו שנפתח שבוחרים "פתיחה" בword) שהמשתמש יוכל לבחור אחד? איך אפשר לתפוס שגיאה ברמת הלוגיקה כדי להעבירה לGUI?
פורסם 2009 ביוני 2516 שנים א. התיעוד ב-MSDN הוא ממש מוצלח. אם מדובר בפיצ'ר שימושי במיוחד (כמו איגוד כמה radio buttons) אז רוב הסיכוי שתהיה דוגמה אפילו בדף הראשי של האובייקט המדובר:http://msdn.microsoft.com/en-us/library/system.windows.forms.radiobutton.aspxב. OpenFileDialoghttp://msdn.microsoft.com/en-us/library/system.windows.forms.openfiledialog.aspxג. ה-GUI הוא פשוט עוד רמה של קוד. אם ה-GUI קורא לפונקציה שנמצאת בלוגיקה, והפונקציה הזו זורקת שגיאה, אז זה התפקיד של ה-GUI לתפוס אותה (באמצעות try/catch). אם יכולה להיות לך שגיאה איפשה בפונקציה שברמת הלוגיקה, אז את יכולה לעשות שלושה דברים:1. לתפוס את השגיאה ברמת הלוגיקה (באמצעות try/catch) ולהדחיק אותה (כלומר לטפל בה אבל לא להעביר אותה הלאה).2. לתפוס את השגיאה ברמת הלוגיקה, ולזרוק אותה מחדש, או לזרוק שגיאה אחרת במקומה, באמצעות throw (על מנת שה-GUI יתפוס אותה).3. לא לתפוס את השגיאה בכלל, ולתת ל-GUI לטפל בה.האופציה שאת בוחרת כמובן תלויה בסוג השגיאה וב-design של המערכת שלך.
פורסם 2009 ביוני 2516 שנים מחבר ב. לא מצליחה את הOpenFileDialog (אם אני גוררת את הסמל מהtool box לאן שאני רוצה - איפה רושמים את הקוד - לפתוח ולבחור קובץ ?)
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.