سلام خسته نباشید میخواستم ببینم راهی برای استفاده مستقیم TextBox و ... در background DoWork باید چکار انجام داد؟!
از یکی از دوستان که پرسیدم گفت باید برای هر شی ای که می خوای استفاده کنی بسازی.
می خواستم ببینم راه دیگه ای هم هست؟!
سلام خسته نباشید میخواستم ببینم راهی برای استفاده مستقیم TextBox و ... در background DoWork باید چکار انجام داد؟!
از یکی از دوستان که پرسیدم گفت باید برای هر شی ای که می خوای استفاده کنی بسازی.
می خواستم ببینم راه دیگه ای هم هست؟!
با سلام
منظورتون رو از مستقیم وصل شدن به تکست باکس یعنی چی ؟!
ولی به هر حال راه درستش اینطوریه :
public delegate void TextBoxDelegate(string text);
private void BackgroundWorker1DoWork(object sender, DoWorkEventArgs e)
{
for (int i = 0; i < 5; i++)
{
System.Threading.Thread.Sleep(1000);
textBox1.Invoke(
new TextBoxDelegate(SetText),
new object[] {i.ToString()});
}
}
private void Button1Click(object sender, EventArgs e)
{
backgroundWorker1.RunWorkerAsync();
}
private void SetText(string text)
{
textBox1.Text = text;
}
موفق باشید
کسی که به خود اطمینان دارد به تعریف دیگران احتیاج ندارد. «گوستاو لوبون»
این کد رو زیر InitializeComponent تو فرمی که از backgroundWorker استفاده میکنی بذار مشکلت رو حل میکنه :
Form1.CheckForIllegalCrossThreadCalls = false;
Control.CheckForIllegalCrossThreadCalls = false;
go0d luck
نه متاسفانه . ممنون میشم راهنماییم کنید .
اینجارو بخونید
موفق باشید