PDA

View Full Version : Sleep كردن تردي كه خودم ايجاد كردم



javad_r_85
پنج شنبه 24 شهریور 1390, 19:18 عصر
سلام
چطوري مي شه يه متدي كه به يك ترد مي فرستم را يه مدتي در حالت sleep نگه دارم بعد اونا start كنم



System.Threading.Thread th = new System.Threading.Thread(new System.Threading.ParameterizedThreadStart(fillbook ));
th.Start();



و در اين مدت نيز فرم كامل نشون داده شود مي خوام وقتي كه كامل فرم لود شد اين ترد شروع به كار كنه و جدول را از داده ها پر كند بدون انكه در نمايش فرم مشكلي بوجود بياد(البته در ويندوز اكس پي و سيستم هاي پايين اين اتفاق رخ مي دهد )

Reza_Yarahmadi
پنج شنبه 24 شهریور 1390, 20:42 عصر
درست متوجه سوالتون نشدم! اگر میخواید متد مدت زمان ثابتی متوقف بشه (مثلا 3 ثانیه) میتونید از متد Thread.Sleep در fillbook استفاده کنید.
اگر هم میخواید بعد از لود شدن فرم این ترد شروع کنه میتونید در رویداد Activated مربوط به فرم کد ساختن ترد جدید رو بنویسید ، البته باید دقت داشته باشید که این رویداد هر بار که فوکوس از فرم دیگه روی این فرم بیاد فعال میشه (باید تمهیداتی در نظر بگیرید که فقط مواقع مورد نیاز کدهای شما اجرا بشه).

aserfg
جمعه 25 شهریور 1390, 08:08 صبح
متد Thread.Sleep ترید جاری رو به مدتی که داخل پرانتزمشخص می کنید بر حسب میلی ثانیه متوقف می کنه . و چون اشاره به ترید جاری است و ممکنه شما چندین ترید رو در برنامه داشته باشین در همون قسمت تابعی که ترید مورد نظر شما وظیفه اجرای اون رو بر عهده داره این متد بزارید .