PDA

View Full Version : سوال: مشکل در استفاده از background worker



aliramazani
جمعه 21 شهریور 1393, 13:40 عصر
public partial class test2 : Form {
public test2()
{
InitializeComponent();
progressBar1.Minimum = 0;
progressBar1.Value = 0;
progressBar1.Step = 1;
System.Int32 calculaterows = 25;
progressBar1.Maximum = calculaterows - 1;
}


private void test2_Load(object sender, EventArgs e)
{


}


private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{



backgroundWorker1.ReportProgress(24);


//////////////////////////////////////////////////کجا باید باشه؟
for (int i = 0; i <= 24; i++)
{
lb.Items.Add("Ali");
}
///////////////////////////////////////////////////////


System.Threading.Thread.Sleep(1000);

}


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


private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
progressBar1.Value = e.ProgressPercentage;


}
}

میخوام یک دفعه کلمه علی به لیست باکس اجرا نشه و با پر شدن بافر همراه باشه

esafb52
جمعه 21 شهریور 1393, 14:28 عصر
سلام کدوم بافر دوست عزیز اگر منظورتون پروگرسبار هست پس اون متد اسلیپ ترد رو ببرین داخل حلقه

mthreat.info
جمعه 21 شهریور 1393, 19:16 عصر
سلام
شما
backgroundWorker1.ReportProgress(24);
رو داخل حلقه بزارین بعد بجای 24 از i استفاده کنید
فقط باید قبلش
باید backgroundWorker1.WorkerReportsProgress = true; باشه