פורסם 2009 באפריל 1316 שנים הצגתי תמונה בwindows form ואני רוצה שכל כמה שניות התמונה תשתנה לתמונה אחרת, כלומר, כל כמה שניות התמונה תשתנה לתמונה השניה וחזרה לראשונה.מישהו יודע איך עושים את זה ?
פורסם 2009 באפריל 1316 שנים אתה צריך לעשות בשביל זה טיימר.http://msdn.microsoft.com/en-us/library/system.threading.timer.aspx
פורסם 2009 באפריל 1316 שנים תיצור Image Array, ולפי Event כלשהו(לא חייבים טיימר מובנה) אפשר להשתמש בשעון של המערכת אבל טיימר בהחלט יכול להיות פתרון פשוט יותר תטען תמונה אחרת מהמערך.
פורסם 2009 באפריל 1416 שנים מחבר אני בונה משחק ואני מעוניין שהתמונה תשתנה גם ללא הEVENT, יש באפשרותך לתת לי דוגמא (קוד קצר) להחלפה בין שתי תמונות כל שניה למשל? הדוגמא בMSDN קצת מסובכת.
פורסם 2009 באפריל 1516 שנים החלפת תמונה (בלי קשר לטיימר) אתה יודע לעשות?בלי קשר, כנראה יהיה לך יותר נוח לעבוד עם הטיימר הזה:http://msdn.microsoft.com/en-us/library/system.windows.forms.timer.aspx(ב-.NET יש שלושה קלאסים של טיימר, שכל אחד עובד קצת אחרת. הקלאס הזה קצת יותר פשוט)
פורסם 2009 באפריל 1516 שנים מחבר לא, לצערי אני לא יודע להחליף תמונה, אני מציג את התמונות שלי דרך BITMAP, כלומר, יש לי שתי תמונות :1. Bitmap a = new Bitmap("c:/a.jpg");2. Bitmap b = new Bitmap("c:/b.jpg");a משתנה מסוג BITMAP שמחזיק את התמונה הראשונה וb משתנה גם מסוג BITMAP שצמחזיק את התמונה השניהועכשיו אני רוצה שכל שניה התמונה הראשונה תהפוך לשניה ולהיפך.אני לא מצליח להבין איך לעשות את זה דרך הקוד שאתה שולח לי ב MSDNנ.באני לא משתמש בMAIN אלא ב PAINTאשמח לעזרה
פורסם 2009 באפריל 1516 שנים הדף שנתתי מסביר איך משתמשים בטיימר, בלי קשר לתמונות.תעלה לכאן את הקוד שלך (תשתמש בטג קוד - כפתור # למעלה - כדי שייראה נורמלי) כדי שנוכל להבין יותר טוב במה מדובר.
פורסם 2009 באפריל 1516 שנים מחבר Bitmap a = new Bitmap("c:/a.jpg");Bitmap b = new Bitmap("c:/b.jpg");private void Paint(object sender, PaintEventArgs e) { g.DrawImage(a, new RectangleF(0, 0, 40, 40)); }[br]פורסם בתאריך: 16.04.2009 בשעה 01:10:30אני מקווה שהבנתי אותך ועכשיו אתה רואה את הקוד, אני מציג על ה FORM את a ורוצה שתוך שניה זה ישתנה ל b וחזרה וכך הלאה, שיחליף בין שתי התמונות כל שניה.
פורסם 2009 באפריל 1616 שנים תעשה משהו כזה בערך:Bitmap a = new Bitmap("c:/a.jpg");Bitmap b = new Bitmap("c:/b.jpg");Bitmap currImage = a;bool currImageIsA = true;System.Windows.Forms.Timer myTimer;// This is the method to run when the timer is raised.private void TimerEventProcessor(Object myObject, EventArgs myEventArgs) { if (currImageIsA) currImage = b; else currImage = a; currImageIsA = !currImageIsA; Refresh();}private void Paint(object sender, PaintEventArgs e){ g.DrawImage(currImage, new RectangleF(0, 0, 40, 40));}private void Form1_Load(object sender, System.EventArgs e){ myTimer = new System.Windows.Forms.Timer(); myTimer.Tick += new EventHandler(TimerEventProcessor); // Sets the timer interval to 1 seconds. myTimer.Interval = 1000; myTimer.Start();}כשהטופס נוצר, הוא יוצר טיימר. הטיימר אחראי כל שנייה להחליף את התמונה הנוכחית, ולעשות Refresh לטופס.
פורסם 2009 באפריל 1616 שנים מחבר היי, קודם כל אני ממש מודה לך על העזרה. תסלח לי על כל השאלות אני פשוט די מתחיל, והדוגמא שנתת לי מצויינת ומובנת רק שאני אשמח אם תרשום לי היכן ממוקם כל דבר...לא ברור לי היכן צריכות להיות ממוקמות השורות:1. System.Windows.Forms.Timer myTimer = new System.Windows.Forms.Timer();2. הפונקציה TimerEventProcessor3. האם כל השורות שבתוך ה - Form1_Load צריכות להיות שם או ש השורה הזאתmyTimer.Tick += new EventHandler(TimerEventProcessor);צריכה להיות ממוקמת ב Form1.Designer.cs ?????תודה על הסבלנות
פורסם 2009 באפריל 1616 שנים עשיתי טיפה תיקונים (ה-new Timer צריך להיות בתוך Form1_Load, וה-TimerEventProcessor לא צריכה להיות סטטית).כל הקוד הזה צריך להיות בקוד של הטופס.ב-Form1.Designer.cs אתה לא צריך לגעת.
פורסם 2009 באפריל 1616 שנים מחבר היי, תתעלם מההודעה האחרונה, הצלחתי, המון המון תודה.רק בעיה אחת יש לי עכשיו, בשביל שאהי אעשה את הההשמה שרצית Bitmap currImage = a הוא רוצה שגם a וגם currImage יהיו STATIC.אבל עכשיו זה יוצר לי בעיה כי אני אמור לשנות את כל המשתנים שמחזיקים לי תמונה לSTATIC ןאז הוא נותן לי הודעת שגיאה כזאת ...Member 'Cell.pic' cannot be accessed with an instance reference; qualify it with a type name insteadיש לך מושג למה ?
פורסם 2009 באפריל 1616 שנים עשיתי טיפה תיקונים (ה-new Timer צריך להיות בתוך Form1_Load, וה-TimerEventProcessor לא צריכה להיות סטטית).כל הקוד הזה צריך להיות בקוד של הטופס.ב-Form1.Designer.cs אתה לא צריך לגעת.למה לא לעשות את השינוי תמונה בtimer_tick_changed ולטעון את התמונות כresource לפרוייקט עצמו?
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.