PDA

View Full Version : حرفه ای: این کد را در چه رویدادی باید بنویسم



alexmcse
شنبه 17 فروردین 1392, 15:03 عصر
سلام
میخواهم این شرط را از لحظه اجرای برنامه تا زمانی که ویندوز شات دون میشود چک کند
اگر مقدار این شرط ترو باشد پیغامی بدهد
if (Environment.HasShutdownStarted)
MessageBox.Show("ok");


تشکر

saeedgholami
شنبه 17 فروردین 1392, 15:25 عصر
سلام

به نظر من یکی از راه هاش گذاشتن تو تایمره که چک کنه یا استفاده از نخ هست دوست عزیز

alexmcse
شنبه 17 فروردین 1392, 16:12 عصر
سلام
استفاده از نخ هست یعنی چی؟

khokhan
شنبه 17 فروردین 1392, 17:01 عصر
سلام
استفاده از نخ هست یعنی چی؟
همون رشته خودمون دیگه :لبخند:

alexmcse
شنبه 17 فروردین 1392, 17:54 عصر
همون رشته خودمون دیگه :لبخند:

سلام
دوست عزیز
بیشتر توضیح بدید
چگونه مشکل تاپیک بالا را حل کنم تاپیک 1

erfan_urchin
شنبه 17 فروردین 1392, 18:39 عصر
یکی از راه هاش استفاده از تایمر هستش
private void Form1_Load(object sender, EventArgs e)
{
timer1.Interval = 500;
timer1.Start();
}

private void timer1_Tick(object sender, EventArgs e)
{
if (Environment.HasShutdownStarted)
{
MessageBox.Show("ok");
timer1.Stop();
}
}

abdullah20
شنبه 17 فروردین 1392, 19:54 عصر
دوستان برای برای مواردی مثل این و امثال این(مانند:میخوام وقتی به اینترنت وصل شد یه تابع اجرا بشه یا مثلا در یک زمان یه کاری انجام بشه و . . . . ) هیچ وقت از تایمر یا بک گراندورکر استفاده نکنید
چون برای رم و cpu بهینه نیست

مثلا برای چک کردن خاموش شدن کامپیوتر میتوانید به صورت زیر کدنویسی کنید:

public Form1()
{
InitializeComponent();
SystemEvents.SessionEnding += new SessionEndingEventHandler(SystemEvents_SessionEndi ng);
}


void SystemEvents_SessionEnding(object sender, SessionEndingEventArgs e)
{
if (e.Reason == SessionEndReasons.SystemShutdown)
MessageBox.Show("سیستم در حال خاموش شدن است");

}