PDA

View Full Version : سوال: گذاشتن تصویر please wait



sima_ahmadi
دوشنبه 20 آذر 1391, 20:44 عصر
سلام میخواستم بپرسم توی ی برنامه سی شارپ چطور کادر please wait میذارن ؟
این قابلیت روداره که مثلا براش زمان تعیین کنیم که تا انجام عمل مورد نظرمون نزولی به صفربرسه؟!

ali_habibi1384
دوشنبه 20 آذر 1391, 21:09 عصر
از ProgressBar استفاده كنيد . مقدار value اين ابزار و MaxValue مشخص كننده مقدار خونه هاي هستند كه شما ميتونيد اونها رو پر يا خالي كنيد.
براي استفاده اين ابزار مقدار پردازش مورد نظر رو در نظر بگيريد و هر بار كه 1 درصد از اون انجام شد يكي به value اضافه كنيد.

SHD.NET
دوشنبه 20 آذر 1391, 23:00 عصر
توی کامپوننت های دات نت بار یه کنترل به نام Circle Progress وجود داره که میتونی از اون هم استفاده کنی

:چشمک:\\\موفق باشید///:چشمک:

programerinfonet
دوشنبه 20 آذر 1391, 23:58 عصر
دوست عزیز اگه مدت زمان پردازشت معلومه چقدره از روش های فوق استفاده کن
اما اگه معلوم نیست مثلأ دو یا سه و یا چند ثانیه کاربر باید صبر کنه از کنترل background worker استفاده کن که با استفاده از یک کنترل progress bar می تونه فرآیند یک پردازش زمان گیر رو برات به نمایش در بیاره

موفق باشی

patrick5053
سه شنبه 21 آذر 1391, 07:27 صبح
background worker بهترين روش هست.

Y_Safaiee
سه شنبه 21 آذر 1391, 08:17 صبح
با سلام خدمت شما

این یه سمپل کد:


private void Form1_Load(object sender, EventArgs e)
{
Control.CheckForIllegalCrossThreadCalls = false;
}


private void button1_Click(object sender, EventArgs e)
{
backgroundWorker1.RunWorkerAsync();
}

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
for (int a = 0; a <= 500; a++)
{
label1.Text += a.ToString() + ",";
int v = (a * 100) / 500;
progressBar1.Value = v;
}
}

private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
MessageBox.Show("Write Complete");
}




با زذن رو دکمه ترد(BackgroundWorker) شروع به کار میکنه و همزمان میزان پیشرفت رو تو پروگزس باز نشون میده و وقتی کارش تموم میشه با نمایش پیغامی تموم شدن پروسه رو به کاربر اطلاع میده.

موفق باشین
بایت بایت