PDA

View Full Version : مشکل در progressbar



alirzn
سه شنبه 27 فروردین 1387, 17:43 عصر
من یک تایع دارم که زمان زیادی طول میکشه که انجام شه.چطور میتونم progressbar واسه اون بگذارم.؟در واقع یک حلقه for هست.

علیرضا مداح
سه شنبه 27 فروردین 1387, 19:45 عصر
سلام ؛
این کنترل دارای پروپرتیهای مهم Minumum , Maximum , Value , Step و متد مهم Increment میباشد ،
مثالی از MSDN :


private void InitializeMyTimer()
{
// Set the interval for the timer.
time.Interval = 250;
// Connect the Tick event of the timer to its event handler.
time.Tick += new EventHandler(IncreaseProgressBar);
// Start the timer.
time.Start();
}
private void IncreaseProgressBar(object sender, EventArgs e)
{
// Increment the value of the ProgressBar a value of one each time.
progressBar1.Increment(1);
// Display the textual value of the ProgressBar in the StatusBar control's first panel.
statusBarPanel1.Text = progressBar1.Value.ToString() + "% Completed";
// Determine if we have completed by comparing the value of the Value property to the Maximum value.
if (progressBar1.Value == progressBar1.Maximum)
// Stop the timer.
time.Stop();
}

Mahdi.Kiani
سه شنبه 27 فروردین 1387, 20:36 عصر
من یک تایع دارم که زمان زیادی طول میکشه که انجام شه.چطور میتونم progressbar واسه اون بگذارم.؟در واقع یک حلقه for هست.

از کنترل BackGroundWorker استفاده کنید.
رویداد های مناسبی برای اعمال مناسب داره..
آشنایی مختصر (http://barnamenevis.org/forum/showpost.php?p=485225)

توضیحات کاملتر (http://msdn2.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx)

موفق باشید

علیرضا مداح
سه شنبه 27 فروردین 1387, 21:14 عصر
بهتر است تلفیقی از BackgroundWorker و ProgressBar را در پروژه خود به کار گیرید :
http://www.codeproject.com/KB/cpp/BackgroundWorker_Threads.aspx

alirzn
چهارشنبه 28 فروردین 1387, 09:18 صبح
آقا من یک تابع دارم که تو اون می خوام حقوق و دستمزد تعداد کارمندان را حساب کنم که از foreach استفاده کردم که در اون در هر بار پردازش حقوق هر کارمند رو انجام میده. میشه دقیق بگید چکار باید بکنم؟

بهتر است تلفیقی از BackgroundWorker و ProgressBar را در پروژه خود به کار گیرید :
http://www.codeproject.com/KB/cpp/BackgroundWorker_Threads.aspx

Amir Oveisi
چهارشنبه 28 فروردین 1387, 09:33 صبح
یا باید از BackgroundWorker استفاده کنید یا اینکه از thread.
وگرنه نتیجه مطلوبی نمی گیرید.
روش اول راحت تره.
موفق باشید