نقل قول نوشته شده توسط alinaghiha مشاهده تاپیک
خسته نباشید یک کد حلقه تکرار دارم که میخوام با یک کلید یا دکمه ازش خارج بشم لطفا راهنمایی بفرمایید
 private void button1_Click(object sender, EventArgs e)        {

SetCursorPos(550, 680);
do
{
SetCursorPos(550, 680);
Thread.Sleep((int)TimeSpan.FromSeconds(5).TotalMil liseconds);
SendClick();

}
while (true);


}
سلام.
همونطور که دوستان اشاره کردند، وقتی شما Thread اصلی برنامه رو در حالت Sleep قرار میدید و یا به هر نحوی مشغولش می کنید به طوری که نمیتونه به Message های ویندوز جواب بده، برنامه حالت not responding پیدا می کنه. فقط در تکمیل پاسخ ها اضافه کنم اگر مثلا قصد دارید ویندوز XP رو هم پشتیبانی کنید و نمیتونید از TPL استفاده کنید، میتونید با استفاده از فرمان Application.DoEvents از برنامه بخواید که پیام های صف شده رو پاسخ بده و بعد حلقه رو ادامه بده.
به این شکل:

Stopwatch delayTimer=new Stopwatch();
do
{
SetCursorPos(550, 680);
delayTimer.Start();
while(delayTimer.ElapsedMilliseconds<5000)
{
Application.DoEvents();
}
SendClick();
delayTimer.Reset();
delayTimer.Stop();
}

while (running);

void buttonClick(Object sender,EventArgs args)
{
running=false;
}