PDA

View Full Version : سوال: ریفرش کردن ویندوز فرم



azowghi
سه شنبه 12 مرداد 1389, 13:21 عصر
سلام

چطور میشه مثلا زیربرنامه appdata() رو که خودمون نوشتیم و بطور مداوم میزان خروجی آن تغییر می کند رو ریفرش کنیم بصورت اتوماتیک؟

و برنامه، عدد خروجی این زیربرنامه را مدام آپدیت کنه؟

ایمان مدائنی
سه شنبه 12 مرداد 1389, 13:31 عصر
ميشه كامل تر توضيح بدين !

azowghi
سه شنبه 12 مرداد 1389, 13:56 عصر
منظورم اینه که مثلا با کلیک کردن روی یک button زیربرنامه ی appdata اجرا میشه. میخوام ببینم آیا راهی هست تا این زیر برنامه بصورت خودکار بعد از اولین کلیک بصورت مداوم اجرا بشه؟

Rejnev
سه شنبه 12 مرداد 1389, 14:18 عصر
thread or timer.
نمونه thread:



btn_click(...)
{
Thread t=new Thread(threadMethod());
t.IsBackground=true;
t.Start();
}
private void threadMethod()
{
while(true)
{
appData();
Thread.Sleep(1 miutes...);
}
}

azowghi
سه شنبه 12 مرداد 1389, 18:17 عصر
از روشی که شما گفتید استفاده کردم ولی چون از label استفاده کردم با اشکال cross-thread exception روبرو شدم. چطور باید با استفاده از thread یک label جدید بسازم؟

Rejnev
سه شنبه 12 مرداد 1389, 18:46 عصر
آیا میخواهید به لیبل مقدار بدید؟
در اونصورت:(کدش طولانیه حوصله ندارم تایپ کنم)باید invoke کنی و یک delegate تعریف کنی و ...
ولی این لینک رو ببین یک متد کلی نوشته که همه کاره است و برای هر خاصیت و شی ای کار میکنه:
http://www.shabdar.org/cross-thread-operation-not-valid.html
کامل مطالعش کن
این دو تا هم هست که چون تازه با تردینگ آشنا شدی یکم سخت و گنگه.(نخونشون)
http://social.msdn.microsoft.com/Forums/en-US/vbgeneral/thread/f41bb09a-e13d-46db-a9ec-2958d7415eb3
http://stackoverflow.com/questions/142003/cross-thread-operation-not-valid-control-accessed-from-a-thread-other-than-the-t
در کل باید بحث threading رو ازین پی دی اف شروع کرده و چندین بار بخونی تا یاد بگیری:
http://www.albahari.com/threading/threading_persian.pdf