+5 امتیاز
سلام.

من چطور میتونم یه فرم را دائما رفرش کرد.

مثلا برنامه یه مطب را در نظر بگیرید به محض اینکه منشی پرونده بیمار را ارسال کرد دکتر بدون هیچ عملی سریعا پرونده را مشاهده کند.
بسته شده

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

Thread Check = new Thread(new ThreadStart(Fun));
                Check.IsBackground = true;
                Check.Start();

و تو کلاس هم این کد رو

private void Fun()
        {
            try
            {
                while (true)
                {
                    System.Threading.Thread.Sleep(1000);
                    // دستورات مورد نیاز برای چک کردن
                }

            }
            catch (Exception ex) 
            {

                throw new Exception(ex.Message + "\r" + ex.StackTrace);
            }
        }


 

توسط (741 امتیاز) 1 14 52

2 پاسخ

+5 امتیاز
 
بهترین پاسخ

سلام

مطمئن نیستم روش خوبی باشه ولی یه روشش اینه که یه کنترل تایمر بذاری رو فرم و مدت تیکش رو مشخص و فعالش کنی

 Timer myTimer = new Timer();
  myTimer.Elapsed += new ElapsedEventHandler( TimeUp );
  myTimer.Interval = 1000;
  myTimer.Start();

public static void TimeUp( object source, ElapsedEventArgs e )
{
   // code...
}

 

یا کلا یه تایمر بذار رو فرمت و تو رویداد تیکش فرم رو رفرش کن

 

+4 امتیاز
سلام ،

معمولا اینکارهارو با استفاده از Multithreading انجام می دن به این صورت که یک نخ مجزا درست می کنن که روی یک Port خاص Listen می کنه . وقتی داده ای به اون Port ارسال شد این نخ یک سری کار انجام میده مثلا داده های روی فرم رو Refresh می کنه . کاری رو هم که دوستمون در پاسخ قبلی انجام دادن هم مشابه هست با این تفاوت که Timer تحت نخ واست کاربر کار می کنه و نخی مجزا نیست .
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,927 کاربر

دسته بندی ها

...