نمایش نتایج 1 تا 16 از 16

نام تاپیک: نمایش پیغام ثبت اطلاعات بعد از مدت زمانی خاص

  1. #1
    کاربر دائمی
    تاریخ عضویت
    آبان 1386
    محل زندگی
    قم
    پست
    657

    نمایش پیغام ثبت اطلاعات بعد از مدت زمانی خاص

    سلام

    فرض کنید قصد وارد کردن اطلاعات توی دیتابیس را داریم .

    و بعد از زدن دکمه insert یک پیغام نمایش داده میشه به صورت زیر

    messagebox.show ("اطلاعات ثبت شد");


    میخوام بعد از مدت زمانی که خودم تعین می کنم این پیغام نمایش داده بشه .

    یعنی به محض اینکه اطلاعات توی دیتابیس ثبت شد نمایش داده نشه و مثلا بعد از 5 ثانیه این پیغام نمایش داده بشه .

    ممنون

  2. #2
    کاربر دائمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تبریز
    پست
    159

    نقل قول: نمایش پیغام ثبت اطلاعات بعد از مدت زمانی خاص

    خوب دوست عزیز از تایمر استفاده نمائید . بعد از دستور insert تایمر را فعال نمائید و پیغام فوق را نمایش دهید و سپس تایمر را دوباره غیرفعال نمائید

  3. #3

    نقل قول: نمایش پیغام ثبت اطلاعات بعد از مدت زمانی خاص

    سلام

    برای این کار می تونید از timer استفاده کنید :

    روش کار :

    1-یک تایمر به برنامه اضافه کنید
    2- interval آن را برابر زمان مورد نظر قرار دهید (مثلا 5000 میلی ثانیه)
    3- در eventHandler مربوط به tick آن پیغام را نمایش دهید.
    4- بجای خطی که الآن messageBox را نمایش می دهد، timer را Start کنید.

    مثال کد :

    تعریف تایمر :
    در کلاس فرم بنویسید :
    System.Windows.Forms.Timer delayTimer = new System.Windows.Forms.Timer();
    delayTimer.Interval = 5000;
    تعریف eventHandler مربوط به tick :
    در ادامه کد فوق بنویسید :
    delayTimer.Tick += new System.EventHandler(this.delayTimer_Tick);
    private void delayTimer_Tick(object sender, EventArgs e)
    {
    MessageBox.Show("Arbitrary Message");
    delayTimer.Stop();
    }
    حال کافیست در جایی که قبلا MessageBox را نمایش می دادید بنویسید :
    delayTimer.Start();
    به این ترتیب هربار که شما تایمر را Start می کنید بعد از 5 ثانیه (اولین تیک) پیغام نمایش داده می شود.
    نکته اینجاست که هر بار که شما تایمر را Start می کنید فقط یکبار پیغام نمایش داده می شود چون بعد از نمایش پیغام، تایمر خودش را Stop می کند.

    موفق باشید

  4. #4

    نقل قول: نمایش پیغام ثبت اطلاعات بعد از مدت زمانی خاص

    با سلام خدمت دوستان

    دوست عزیز وقتی میشه اینکار رو با یک خط کد انجام داد دیگه چه نیازی هست به Timer؟!
    دستور زیر یک وقفه 5000 میلی ثانیه تولید میکنه :

    System.Threading.Thread.Sleep(5000);


    موفق باشی

  5. #5

    نقل قول: نمایش پیغام ثبت اطلاعات بعد از مدت زمانی خاص

    سلام

    استفاده از Sleep در این مورد اصلا توصیه نمی شه به این دلیل که با دستوری که شما نوشتید، کل thread به مدت 5 ثانیه قفل می شود اما با استفاده از تایمر، در فاصله زمانی بین tick ها فرم اصلی قابل استفاده باقی می ماند.

  6. #6
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    تهران
    پست
    1,025

    نقل قول: نمایش پیغام ثبت اطلاعات بعد از مدت زمانی خاص

    میتونی متد اینسرت رو توی یه thread دیگه انجام بدی و اون رو به مدت دلخواه متوقف کنی و بعد ازش یه پیغام به thread اصلی بفرستی
    میتونی از دستور wait توی sql استفاده کنی
    و خیلی راههای دیگه
    ولی اصلا چرا میخوای اینطوری باشه

  7. #7
    کاربر دائمی
    تاریخ عضویت
    آبان 1386
    محل زندگی
    قم
    پست
    657

    نقل قول: نمایش پیغام ثبت اطلاعات بعد از مدت زمانی خاص

    نقل قول نوشته شده توسط babak.h مشاهده تاپیک
    سلام

    برای این کار می تونید از timer استفاده کنید :

    روش کار :

    1-یک تایمر به برنامه اضافه کنید
    2- interval آن را برابر زمان مورد نظر قرار دهید (مثلا 5000 میلی ثانیه)
    3- در eventHandler مربوط به tick آن پیغام را نمایش دهید.
    4- بجای خطی که الآن messageBox را نمایش می دهد، timer را Start کنید.

    مثال کد :

    تعریف تایمر :
    در کلاس فرم بنویسید :

    System.Windows.Forms.Timer delayTimer = new System.Windows.Forms.Timer();



    delayTimer.Interval = 5000;
    تعریف eventHandler مربوط به tick :


    در ادامه کد فوق بنویسید :


    delayTimer.Tick += new System.EventHandler(this.delayTimer_Tick);



    private void delayTimer_Tick(object sender, EventArgs e)


    {


    MessageBox.Show("Arbitrary Message");


    delayTimer.Stop();


    }


    حال کافیست در جایی که قبلا MessageBox را نمایش می دادید بنویسید :



    delayTimer.Start();
    به این ترتیب هربار که شما تایمر را Start می کنید بعد از 5 ثانیه (اولین تیک) پیغام نمایش داده می شود.


    نکته اینجاست که هر بار که شما تایمر را Start می کنید فقط یکبار پیغام نمایش داده می شود چون بعد از نمایش پیغام، تایمر خودش را Stop می کند.



    موفق باشید












    سلام

    من که delayTimer را داخل کلاس فرم new تعریف می کنم دیگه توی کلاس فرم قادر نیستم به delayTimer دسترسی داشته باشم .
    چه طور میشه که delayTimer.Interval = 5000; را داخل کلاس فرم تعریف کنم ؟

    plz help

  8. #8
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    تهران
    پست
    1,025

    نقل قول: نمایش پیغام ثبت اطلاعات بعد از مدت زمانی خاص

    این تایمر رو کجای کلاس فرم تعریف میکنید

  9. #9
    کاربر دائمی
    تاریخ عضویت
    آبان 1386
    محل زندگی
    قم
    پست
    657

    نقل قول: نمایش پیغام ثبت اطلاعات بعد از مدت زمانی خاص

    نقل قول نوشته شده توسط NewFoxStudent مشاهده تاپیک
    این تایمر رو کجای کلاس فرم تعریف میکنید
    توی قسمت partial class تعریف می کنم

  10. #10
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    تهران
    پست
    1,025

    نقل قول: نمایش پیغام ثبت اطلاعات بعد از مدت زمانی خاص

    اگه بعد از خط زیر تعریف کنی همه جای کلاس میتونی استفاده کنی

    public partial class Form1 : Form
    {

  11. #11
    کاربر دائمی
    تاریخ عضویت
    آبان 1386
    محل زندگی
    قم
    پست
    657

    نقل قول: نمایش پیغام ثبت اطلاعات بعد از مدت زمانی خاص

    نقل قول نوشته شده توسط NewFoxStudent مشاهده تاپیک
    اگه بعد از خط زیر تعریف کنی همه جای کلاس میتونی استفاده کنی

    public partial class Form1 : Form
    {
    نه دسترسی ندارم .

    یعنی وقتی Timer delyTimer = new Timer(); را توی همون قسمتی که شما گفتید تعریف میکنم دیگه به delayTimer.Interval = 5000; دسترسی ندارم

    یعنی لیستی که باز میشه delayTimer را نداره

    plz help

  12. #12
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    تهران
    پست
    1,025

    نقل قول: نمایش پیغام ثبت اطلاعات بعد از مدت زمانی خاص

    ببینید شما تعریف تایمر رو باید اونجا انجام بدید
    برای تنظیم خصوصیت هاش حتماً باید از یک متد استفاده کنید
    نمیتونید توی خط بعد از تعریف تایمر مثلا اینتروال رو تنظیم کنید
    باید توی یه متد مثل فرم لود اینکار رو انجام بدید

  13. #13
    کاربر دائمی
    تاریخ عضویت
    آبان 1386
    محل زندگی
    قم
    پست
    657

    نقل قول: نمایش پیغام ثبت اطلاعات بعد از مدت زمانی خاص

    نقل قول نوشته شده توسط NewFoxStudent مشاهده تاپیک
    ببینید شما تعریف تایمر رو باید اونجا انجام بدید
    برای تنظیم خصوصیت هاش حتماً باید از یک متد استفاده کنید
    نمیتونید توی خط بعد از تعریف تایمر مثلا اینتروال رو تنظیم کنید
    باید توی یه متد مثل فرم لود اینکار رو انجام بدید
    سلام

    خب من این کار را میکنم . اما پیغام هر 5 ثانیه نشون داده میشه . این پیغام باید فقط یکبار نشون داده بشه

    اینا توی کلاس فرم تعریف میکنم.

    System.Windows.Forms.Timer delayTimer = new System.Windows.Forms.Timer();


    و اینا را توی فرم load تعریف میکنم

    delayTimer.Interval = 5000;
    delayTimer.Tick += new System.EventHandler(this.delayTimer_Tick);


    حتی یک متد هم تعریف میکنم و کدهای بالا را داخلش قرار میدم ولی باز هم هر 5 ثانیه پیغام تکرار میشه .

    بقیه هم که مشخصه سرجای خودشون تعریف میشن .

    این پیغام فقط باید یکبار داده بشه .

    plz help لطفا

  14. #14
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    کاشان
    پست
    580

    نقل قول: نمایش پیغام ثبت اطلاعات بعد از مدت زمانی خاص

    خوب شما در همون رویداد تایمر که ایجاد کردی بعد از نمایش پیغام تایمر خوتو غیر فعال کن تا دوباره تایمرت تیک نخوره .

  15. #15
    کاربر دائمی
    تاریخ عضویت
    آبان 1386
    محل زندگی
    قم
    پست
    657

    نقل قول: نمایش پیغام ثبت اطلاعات بعد از مدت زمانی خاص

    سلام

    مشکل حل شد . اما من یه چیزی را متوجه نشدم .

    من دستور را که به صورت زیر می نویسم پیغام بعد از 2 ثانیه فقط یکبار نمایش داده می شود

            private void timer1_Tick(object sender, EventArgs e)
    {
    delyTimer.Stop();
    MessageBox.Show("اطلاعات ثبت شد");
    }


    اما وقتی دستور را به صورت زیر تعریف میکنم پیغام هر 2 ثانیه تکرار میشود .

            private void timer1_Tick(object sender, EventArgs e)
    {
    MessageBox.Show("اطلاعات ثبت شد");
    delyTimer.Stop();
    }


    چه فرقی بین این دو دستور وجود داره ؟؟

    ممنون

  16. #16
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    کاشان
    پست
    580

    نقل قول: نمایش پیغام ثبت اطلاعات بعد از مدت زمانی خاص

    شاید در حالت دوم منتظر می مونه شما مسیج باکس رو تایید کنی که در این حالت 2 ثانیه می گذره و قبل از اینکه غیر فعال بشه یه تیک دیگه می خوره !!!

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •