נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: כפתור שניגש לערך בForm1_Load C#

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
אלעד
משתמש חבר
משתמש חבר
סמל אישי

הצטרף / הצטרפה: 21 March 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 166
נשלח בתאריך: 17 August 2007 בשעה 21:13 | IP רשוּם
ציטוט אלעד

יש לי ערך INT ב Form1_Load שאני מאוד רוצה לקרוא את הערך שלו כשאני לוחץ על כפתור, אך בגלל ש Form1_Load הוא פונקציה אני לא מצליח לעשות את זה.

למישהו יש רעיון איך עוקפים את זה?



__________________
כן?
לא?
שחור לבן.
חזרה לתחילת העמוד הצג את כרטיס החבר של אלעד חפש הודעות אחרות של אלעד
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 17 August 2007 בשעה 21:40 | IP רשוּם
ציטוט shoshan

לא הבנתי...

כאילו הכרזת על המספר ב-form_load ?

פשוט תעשה אותו משתנה של המחלקה של הטופס...מה זה השאלות האלה היום  ?


__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
אלעד
משתמש חבר
משתמש חבר
סמל אישי

הצטרף / הצטרפה: 21 March 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 166
נשלח בתאריך: 18 August 2007 בשעה 00:46 | IP רשוּם
ציטוט אלעד

מסתבר שזה בעיה אחרת לגמרי ממה שאשלתי, הבעיה שלי היא לשנות label בטופס מתוך THRED אחר.

הסבר של כול הבעיה: אני עושה תוכנה שצריכה לספור לאחור 15 שניות ואז מציגה הודעה, אני עשיתי TIMER שרץ על THRED אחר אבל משום מה אי אפשר לשנות את הערכים של הlabel (כדי שהוא יראה כמה זמן נשאר לך) מתוך ה THERD החדש, יש לך רעיונות?



__________________
כן?
לא?
שחור לבן.
חזרה לתחילת העמוד הצג את כרטיס החבר של אלעד חפש הודעות אחרות של אלעד
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 18 August 2007 בשעה 00:58 | IP רשוּם
ציטוט shoshan

בטעינה של הטופס

control.checkforillegalcrossthreadcalls = false

או לחלופין, אינווקציה מ-thread אחר עובדת כך:

נראה לי שאתה יוצר delegate ב-thread של ה-UI וקורא אצלו ל-invoke...


__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
אלעד
משתמש חבר
משתמש חבר
סמל אישי

הצטרף / הצטרפה: 21 March 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 166
נשלח בתאריך: 18 August 2007 בשעה 10:16 | IP רשוּם
ציטוט אלעד

הראשון לא עובד

השני נראה לי שצריך לעבוד, אבל כשאני מנסה לעשות את זה אני מסתבך בעצמי.

בגדול זה מה שאני מנסה:

אני מנסה לעשות ב FORM1 מונה של 10 שניות, עשיתי איזה LABEL2 (השמות ישתנו בהמשך  ) ובנתי לי MYTIMER שמתקתק לו כול שניה. הבעיה היא שאירוע התיקתוק חייב להיות בTHRED חדש כדי שהמונה יפעל בזמן השתוכנית רצה (אחרת התוכנית קופאת עד שהוא מסיים לתקתק לו), אז יצרתי לי THRED ומסתבר שאי אפשר לשנות את הCOTROLיים בFORM1 בגלל תור UI (אם הבנתי מגוגל נכון). עכשיו אני שובר את הראש איך לגרום ל public void myTimer_Tick(object sender, EventArgs e) להכניס את time_show (הזמן העכשיווי) לתוך label2 ?



__________________
כן?
לא?
שחור לבן.
חזרה לתחילת העמוד הצג את כרטיס החבר של אלעד חפש הודעות אחרות של אלעד
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 18 August 2007 בשעה 15:21 | IP רשוּם
ציטוט shoshan

תגדיר "הראשון לא עובד", עשית copy  & paste, כי צריך להפוך חלק מהאותיות לגדולות...

ולמה אתה חוזר על השאלה? הבנתי והצעתי את שני הפתרונות האפשריים...


__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
אלעד
משתמש חבר
משתמש חבר
סמל אישי

הצטרף / הצטרפה: 21 March 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 166
נשלח בתאריך: 18 August 2007 בשעה 17:14 | IP רשוּם
ציטוט אלעד

השתמשתי ב control.checkforillegalcrossthreadcalls = false (בדקתי שכתבתי אותו נכון) ב FORM_LOAD



__________________
כן?
לא?
שחור לבן.
חזרה לתחילת העמוד הצג את כרטיס החבר של אלעד חפש הודעות אחרות של אלעד
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 18 August 2007 בשעה 18:08 | IP רשוּם
ציטוט shoshan

לא צריך להקליד, לוחצים על ctrl+space ונותנים לסביבת עבודה להשלים אותך...

ואז מה קרה ?

__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
אלעד
משתמש חבר
משתמש חבר
סמל אישי

הצטרף / הצטרפה: 21 March 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 166
נשלח בתאריך: 18 August 2007 בשעה 19:13 | IP רשוּם
ציטוט אלעד

זה לא עבד.

בסוף השתמשתי ב background worker .



__________________
כן?
לא?
שחור לבן.
חזרה לתחילת העמוד הצג את כרטיס החבר של אלעד חפש הודעות אחרות של אלעד
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 18 August 2007 בשעה 19:17 | IP רשוּם
ציטוט shoshan

שזאת, בעקיפין, השיטה עם ה-delegate, אם היית צריך יותר פתילי ריצה (threads) לא זה היה ריאליסטי...

בכל מקרה, לא עבד כאילו לא מנע את השגיאה או לא עבר הידור ?


__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
אלעד
משתמש חבר
משתמש חבר
סמל אישי

הצטרף / הצטרפה: 21 March 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 166
נשלח בתאריך: 18 August 2007 בשעה 21:41 | IP רשוּם
ציטוט אלעד

הכול רץ, פשוט הTHRED החדש לא שינה את הערך בטופס



__________________
כן?
לא?
שחור לבן.
חזרה לתחילת העמוד הצג את כרטיס החבר של אלעד חפש הודעות אחרות של אלעד
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 18 August 2007 בשעה 21:51 | IP רשוּם
ציטוט shoshan

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


__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
אלעד
משתמש חבר
משתמש חבר
סמל אישי

הצטרף / הצטרפה: 21 March 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 166
נשלח בתאריך: 19 August 2007 בשעה 13:31 | IP רשוּם
ציטוט אלעד

האמת אחרי עוד קצת משחק עם זה אני רואה שה background worker עובד רק עם ה control.checkforillegalcrossthreadcalls = false .

אבל משום מה התוכנית נתקעת אחרי 2 קראיות אליו.

נראה לי שיש פה תנגשות בין הTHREDיים, worker.Dispose() לא אמור לסגור את הWORKER ?

כשנסיתי לעשות לו worker.CancelAsync() הוא אמר לי שהוא לא תומך בזה.



__________________
כן?
לא?
שחור לבן.
חזרה לתחילת העמוד הצג את כרטיס החבר של אלעד חפש הודעות אחרות של אלעד
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 19 August 2007 בשעה 14:44 | IP רשוּם
ציטוט shoshan

אתה מבלבל הרבה דברים...

אם אתה רוצה לשנות UI מ-background worker תקרא למתודה updateProgress ומה-
event של progressChanged תעדכן את ה-UI, ככה זה יהיה השיטה שתיארתי.


Dispose לא אמור להפסיק את העבודה, הוא אומר לאובייקט תשחרר את כל המשאבים שלך כי סיימתי איתך.

ואם אתה רוצה להפסיק את העבודה עם cancelAsync אתה צריך לשנות תכונה של ה-
backgroundWorker ששמה הוא בערך allowsCancelAsync או משהו כזה...


__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

קפיצה לפורום
אינך יכול/ה לשלוח נושאים חדשים בפורום זה
אינך יכול/ה להגיב לנושאים בפורום זה
אינך יכול/ה למחוק את הודעותיך ותגוביך בפורום זה
אינך יכול/ה לערוך את הודעותיך ותגובותיך בפורום זה
אינך יכול/ה לצור סקרים בפורום זה
אינך יכול/ה להצביע בסקרים בפורום זה