פורסם 2008 במאי 217 שנים שלום לכולם, אני מנסה להתייחס לטפסים שהמשתמש יצר לבד במשך שהתוכנה פעלה,המשתנים שלי הם על שמות מספרים כמו 1 , 2 , 3 וכו....יש לי משתנה בשם i , אני מנסה נגיד לגרום לטופס שקוראים לו נגיד 2לשנות את השם שלו ל-1 הבעיה היא כזאת,שאני רושםi+1.name=i או (i+1).name=iהוא לא נותן לי הוא רושם לי Syntax error נכון לגבי עכשיו שהתוכנה לא רצה זה נכון,אבל שהתוכנה רצה והטפסים האלה אכן קיימים, אני רוצה שהם ישתנו,אין איזה אפשרות לגרום לכך שה-VB .NET יתייחס אל הטפסים האלה מבלי לתת שגיאה?או לפחות שיטה אחרת להיתייחס לטפסים בעזרת משתנה מסוג זה?תודה!
פורסם 2008 במאי 217 שנים huh? לא ממש הבנתי מה אתה רוצה לעשות.אם אתה רוצה לבנות תכנית שתתייחס לשמות המשתנים (נניח יש לך משתנים בשם a1,a2,a3 ואז להתייחס למשתנה שהשם שלו הוא 'a'+מספר), אז אתה לא יכול בלי מנגנוני reflection מגעילים. זה גם דבר מכוער לעשות.הדרך לעשות משהו כזה היא להגדיר מילון (Dictionary) מ-string לטיפוס של המשתנה שלך, ואז להתייחס לפי המפתחות שבמילון.
פורסם 2008 במאי 217 שנים מחבר אוקיי אני אנסה להסביר את זה בדרך יותר מובנת,למשתמש יש אפשרות ליצור טפסים משלו (Form),עכשיו , כול טופס שהמשתמש יוצר מקבל משתנה +1,לדוגמא, המשתמש לחץ על הכפתור אז הוא יצר טופסבשם (Name), 1, אחרי זה הוא לחץ עוד פעם על הכפתור אזהוא יצר עוד טופס הפעם השם של הטופס החדש הוא:2, וככה לגבי הטופס הבא (ששמו יהיה 3) וכו,עכשיו, אני רוצה להתייחס נגיד לטופס 3,אני רוצה להפוך את השם שלו ל-2, אז מה שעשיתי זה משתנה בשם- i :i+1.name=iאו במילים אחרות:נגיד ו-i שווה 2 אז :2+1.name=2זאת אומרת תשנה את השם של טופס מספר 3, לשם טופס מספר 2...עכשיו שאני מנסה לעשות את זה, זה לא נותן לי פשוט רשום Syntax Error , כניראה אי אפשר להיתייחסלטפסים האלה לפי משתנה, הבעיה היא שגם הטפסים הללו בכלל לא קיימים , אלא המשתמש יוצר אותם,ככה שאני בכלל לא יודע איך להיתייחס אליהם.אם אני עדיין לא מובן, נגיד יש לנו טופס בשם Form1אז בכללי Form1.name=Form1 זה כמובן השם שלו.אני רוצה לשנות עכשיו את השם מ-Form1.name=Form0עכשיו Form1 יהפוך להיות בשם Form0 מצטער אם אני לא מובן, אני מנסה ...ואם הבנת, איך אני עושה את זה? תיקח בחשבון שהמשתמש יוצר את הטפסים והם לא קיימים עד שהוא יוצר אותם.
פורסם 2008 במאי 217 שנים אין כזה דבר. אתה לא יכול להגדיר שמות למשתנים (טופס הוא גם משתנה, כן?) תוך כדי ריצת התכנית.מה שאתה צריך לעשות הוא אחד משני דברים:להגדיר מערך של טפסים, ואז ה"שם" של הטופס פשוט יהיה האינדקס במערך (אז אתה מוגבל למספרים, כמובן),או להגדיר <Dictionary<string,form שבעצם ימפה שמות של טפסים לטפסים עצמם. השמות האלה יהיו פשוט מחרוזות שתוכל לעשות איתן מה שאתה רוצה.אם זה עדיין לא ברור, יכול להיות שלא הבנתי בדיוק את השאלה שלך, ואשמח אם תעלה דוגמת קוד יותר גדולה.
פורסם 2008 במאי 217 שנים מחבר אני חושב שהבנת אותי (-: , אם ככה,איך אני עושה מערך של טפסים? אני יודע לעשות מערך רגיל, לא מערך של טפסים...אפשר דוגמא?ואיך אני משתמש ב"מילון" ?תודה!
פורסם 2008 במאי 217 שנים מה זאת אומרת? אתה עושה מערך של טפסים כמו שאתה עושה מערך של כל דבר אחר.ולגבי מילון:http://msdn.microsoft.com/en-us/library/xfhwa508.aspx
פורסם 2008 במאי 217 שנים מחבר תודה רבה על התגובות המהירות! ,אבל משום מה עדיין לא הבנתי...אם אני מכריז על מערך, הוא תקף רק לטופס הנוכחיואני לא יוכל להיתייחס בעזרת המערך בטפסים אחרים,יש דבר כזה להכריז על מערך שיהיה תקף לכול הטפסים?ואני מכריז על מערך ככה:dim x(100) as integerלדוגמא, זה מערך של 100 תאים...איך אני עושה משהו דומה לזה של טפסים?ואיך זה יהיה תקף בכול הטפסים ולא רק לאחד.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.