PDA

View Full Version : چگونگی استفاده از Timer



iranigirl1364
یک شنبه 11 آذر 1386, 07:33 صبح
با سلام:
من تو یک قسمت از برنامم بعد از انجام برای مثال عمل ویرایش یا عمل دیگری یک
Message Box نمایش می دهم که باز برای مثال عملیات با موفقیت انجام شد.اما می خوام اگه کاربر بعد از 2 ثانیه دکمه تایید رو نزد کل فرم اتوماتیک بسته شه.با Timer با خصوصیت Interval و رویداد Tick ان خیلی کار کردم و خصوصیت Enable رو هم در پنجره Properties , True ردم اما هدفی رو که بیان کردم رو انجام نمی ده.اگه منو راهنمایی کنید ممنون می شم.حیاتیه.
با تشکر

hassan razavi
یک شنبه 11 آذر 1386, 08:09 صبح
وقتی که از MessagBox استفاده میکنید در واقع مثل ShowModal کردن فرم ، کد برنامه از خطی که MessagBox رو فراخوانی میکنید متوقف میشه و منتظر میمونه تا کاربر تائید کنه.
برای منظور شما بهتره که خودتون با یک فرم و Lable و یک Button یک DialogForm بسازید و ازTimer هم در همین فرم استفاده کنید و هر وقت خواستید پیغامی بدید با یک پارامتر که در هنگام فراخوانی DialogForm تون ارسال میکنید ، پیام رو نمایش بدید و با تایمر هم کنترلهالی مورد نظر را بر فرم داشته باشید

iranigirl1364
یک شنبه 11 آذر 1386, 16:52 عصر
با سلام مجدد:

آقای رضوی یا هر کدام از دوستان که لطف کنند ,می شه در مورد DialogForm بیشتر توضیح بدید؟ من یم فرم ساختم و تو یک لیبل پیغامم رو نوشتم و باز از Timer استفاده کردم . کار Timer انجام میشه اما روی بسته شدن فرمی که ساختم و فرم قبلیم Error میده . اگه میشه منو بازم راهنمایی کنید .
با تشکر

hassan razavi
یک شنبه 11 آذر 1386, 17:44 عصر
منظورم از DialogForm همون کاری هست که الان شما انجام دادید . ولی تا ندونیم که کار فرمتون چی هست و چکار میکنه و چه خطایی میده ، کمک کرده سخته.
اگه بتونید پروژتون رو بفرستید که خیلی خوبه وگرنه توضیح بیشتر بدید.

iranigirl1364
یک شنبه 11 آذر 1386, 17:59 عصر
ببینید من یک فرم دارم که ورود اطلاعات رو انجام میده و وقتی دکمه ذخیره زده شد اگر تمامی اطلاعات وارد شده باشند پیغام اطلاعات با موفقیت ثبت شد داده می شود.من می خوام اگه بعد از پنج ثانیه تایید توسط کاربر زده نشد این فرم بسته شه.شما گفتید به جای نشان دادن پیغام در MessageBox یک فرم درست کنم که در یک لیبل این پیغام نشان داده شه و یک دکمه هم داشته باشه.خوب این کارو کردم و در رویداد tick مربوط به Timer این کد رو نوشتم:


;()DailogForm.ActiveFrom.Close
;()MainForm.ActiveFrom.close

و در رویداد مربوط به کلیک دکمه هم اینطور نوشتم:



;Timer1.Enable=True

اما وقتی برنامه اجرا می شه عملیات انجام میشه و اطلاعات حتی ثبت هم می شه اما
روی خطوطی که رنگشو آبی کردم این Error رو میده:

Object Refrence Can Not Be Performed

لطفا منو راهنمایی کنید
بازم ممنون

hassan razavi
یک شنبه 11 آذر 1386, 18:21 عصر
براتون یه نمونه ساختم. کداتون رو صحیح و در جای مناسب استفاده نکردید . اگه منظورتون چیز دیگه ای هست باز هم مطرح کنید.

iranigirl1364
یک شنبه 11 آذر 1386, 19:54 عصر
خیلی خیلی ممنون
منظورم دقیقا همین بود اما میخواستم Form1 هم بسته شه که خودم این قسمتو اضافه کردم که براتون می فرستم که ببینید
بازم ممنون