PDA

View Full Version : درخواست راهنمایی برای ایجاد مکث بین اجرای دستورات



012132
پنج شنبه 19 اردیبهشت 1392, 00:54 صبح
با سلام . من می خوام وقتی که کاربر اطلاعات مربوط به لاگین را وارد کرد و بر روی دکمه ورود کلیک کرد ، قبل از هر پیغامی یا ورود به صفحه اصلی ، می خوام که یه مکث 3 ثانیه ای صورت بگیره . تمامی دستورات همه در داخل یه button نوشته شده است . می خوام بین اجرای مثلاً دستور 10 و 11 ، یک مکثی صورت بگیره . در ضمن اینکه وقتی از تایمر استفاده می کنم کارها همزمان صورت می گیره . یعنی مکث نمیکنه .

ممنون میشم راهنماییم کنین .

Tiam121
پنج شنبه 19 اردیبهشت 1392, 01:54 صبح
باید از دوتا تایمر استفاده کنی.یکی واسه فعال کردن(فعال کردن تایمر دوم که دستورات توی اون نوشته میشه) اجرای دستورات و دومی که دستوراتی که میخوای اجرا بشه رو توش بنویسی(این یه راهه)

_behnam_
پنج شنبه 19 اردیبهشت 1392, 02:02 صبح
سلام. نیازی به استفاده از تایمر نیست.
قسمتی که میخواید وقفه ایجاد بشه کد زیر رو بزارید.
3000 به معنای 3 ثانیه است


System.Threading.Thread.Sleep(3000);

012132
شنبه 21 اردیبهشت 1392, 00:38 صبح
سلام. نیازی به استفاده از تایمر نیست.
قسمتی که میخواید وقفه ایجاد بشه کد زیر رو بزارید.
3000 به معنای 3 ثانیه است


System.Threading.Thread.Sleep(3000);



ممنون از راهنماییتون ولی یه مشکلی هست زمانی که از دستور فوق استفاده می کنم ، یه مکث ایجاد میشه ، مثل اینکه کامپیوتر تو این زمان هنگ میکنه ، اما من می خوام یه دستور قبل از توقف ، اجرا بشه . بذار با این مثال بهتر منظورمو برسونم :

ببین من توی فرم ورود ، یه قسمت دارم به نام بازیابی کلمه عبور . با استفاده از دستور Select sql این کار رو انجام میدم . فقط می خوام برای زیباتر شدن برنامه ، زمانی که کاربر فیلد های مورد نظر رو پر کرد و روی دکمه تایید کلیک کرد ، می خوام یه فایل فلش لودینگ اجرا بشه ، یه مکث 3 - 5 ثانیه انجام بگیره و بعد پسورد به کاربر نمایش داده بشه . اما با این کار فایل فلش بعد از مکث ، اجرا میشه اما من می خوام قبل از مکث و در حین مکث این فایل فلش در حال اجرا باشه .

این هم کدهایی که من می خوام فایل فلش انجام بشه :



loading_swf.Movie = Application.StartupPath + @"\swf\loading.swf";
loading_swf.Visible = true;
System.Threading.Thread.Sleep(3000);
loading_swf.Visible = false;


امیدوارم منظورمو رسونده باشم . منتظر راهنمایی تون هستم .

khokhan
شنبه 21 اردیبهشت 1392, 01:32 صبح
چرا ازbw استفاده نمی کنی اصلا فلسفه وجودی اون برای این جور مواقع می باشد دیگه :افسرده:

_behnam_
شنبه 21 اردیبهشت 1392, 07:16 صبح
این کد رو امتحان کنید دوست من.
آرگومنت sec را به ثانیه مقدار دهی کنید.

private void Pause(double sec)
{
DateTime target = DateTime.Now.AddSeconds(sec);
while (DateTime.Now < target)
{
Application.DoEvents();
}
}

012132
شنبه 21 اردیبهشت 1392, 19:56 عصر
این کد رو امتحان کنید دوست من.
آرگومنت sec را به ثانیه مقدار دهی کنید.

private void Pause(double sec)
{
DateTime target = DateTime.Now.AddSeconds(sec);
while (DateTime.Now < target)
{
Application.DoEvents();
}
}

خیلی ممنونم دوست عزیز از راهنماییتون . اما باز هم وقتی عدد میدم ، مثلاً میذارم 5 ثانیه ، این 5 ثانیه کل برنامه Stop می خوره و بعدش اجرا میشه اما همونطور که قبلاً هم گفتم فایل فلش رو قبل از این دستور می ذارم ، به طبع باید قبل از این مکث اجرا شده و در حین مکث هم در حال اجرا باشه اما این دستور اجازه اجرا نمیده و قبل از اینکه فایل فلش اجرا بشه ، مکث رو انجام میده ، در زمان مکث هم هیچی اجرا نمیشه و دقیقاً بعد از مکث ، فایل اجرا میشه .

012132
شنبه 21 اردیبهشت 1392, 19:56 عصر
چرا ازbw استفاده نمی کنی اصلا فلسفه وجودی اون برای این جور مواقع می باشد دیگه :افسرده:

دوست عزیز من با BW آشنایی ندارم . اگر ممکنه با یه مثال بهم توضیح بدید . خیلی خیلی ممنون

khokhan
شنبه 21 اردیبهشت 1392, 21:34 عصر
دوست عزیز من با BW آشنایی ندارم . اگر ممکنه با یه مثال بهم توضیح بدید . خیلی خیلی ممنون
درود بر شما

این یه نمونهhttp://barnamenevis.org/showthread.php?379451-backgroundWorker-%DA%86%DB%8C%D8%B3%D8%AA-%D9%88-%DA%86%D9%87-%DA%A9%D8%A7%D8%B1-%D9%85%DB%8C-%DA%A9%D9%86%D8%AF

khokhan
شنبه 21 اردیبهشت 1392, 21:36 عصر
این هم یه نمونه دیگهhttp://barnamenevis.org/showthread.php?200544-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-Backgroundworker