IMANAZADI
شنبه 23 بهمن 1389, 16:12 عصر
با سلام خدمت دوستان عزیز
چند سوال در مورد ترد ها داشتم
توی سرچ مطالب زیاده راجه به ترد ها ولی نتونستم متوجه بشم و استفاده کنم مجبور شدم این تاپیک را بزنم
من یک برنامه نوشتم که فرم آن به صورت زیر است
روی فرم یک buttom یک تکس باکس که multiline آن True می باشد
با فشردن buttom یک فایل تکست به صورت کاراکتر به کاراکتر در یک textbox نشون داده میشه
ولی وقتی داره اینکار رو میکنه تا زمانی که تمام نوشته ها کامل درون textbox جای نگیره نمیشه از قسمت های دیگه استفاده کرد (فرم هنگ میشه)
حالا چطوری میشه با استفاده از تردها اینکار رو کرد بدون اینکه فرم هنگ کنه و بشه از قسمت های دیگه استفاده کرد .
کد برنامه رو براتون میزارم
ممنون میشم راهنمایی کنید .
سوال دیگه اینکه حالا اگر بخواهیم کدی را که در buttom نوشتیم را به صورت متد بنویسیم چطوری باید از ترد ها استفاده کنیم ؟
چون به صورت متدم که می نویسم خطای cross-thread exception میده
private void button1_Click (object sender , EventArgs e)
{
StreamReader stre = null;
int num;
try
{
.
stre = File.OpenText (@"C:\Users\Iman\Desktop\1.txt");
textBox1.Clear ();
num = stre.Read ();
while (num != -1)
{
textBox1.Text += Convert.ToChar (num);
num = stre.Read ();
textBox1.Refresh ();
Thread.Sleep (100);
}
}
catch (Exception ex)
{
MessageBox.Show (ex.Message);
}
}
بازم ممنون
چند سوال در مورد ترد ها داشتم
توی سرچ مطالب زیاده راجه به ترد ها ولی نتونستم متوجه بشم و استفاده کنم مجبور شدم این تاپیک را بزنم
من یک برنامه نوشتم که فرم آن به صورت زیر است
روی فرم یک buttom یک تکس باکس که multiline آن True می باشد
با فشردن buttom یک فایل تکست به صورت کاراکتر به کاراکتر در یک textbox نشون داده میشه
ولی وقتی داره اینکار رو میکنه تا زمانی که تمام نوشته ها کامل درون textbox جای نگیره نمیشه از قسمت های دیگه استفاده کرد (فرم هنگ میشه)
حالا چطوری میشه با استفاده از تردها اینکار رو کرد بدون اینکه فرم هنگ کنه و بشه از قسمت های دیگه استفاده کرد .
کد برنامه رو براتون میزارم
ممنون میشم راهنمایی کنید .
سوال دیگه اینکه حالا اگر بخواهیم کدی را که در buttom نوشتیم را به صورت متد بنویسیم چطوری باید از ترد ها استفاده کنیم ؟
چون به صورت متدم که می نویسم خطای cross-thread exception میده
private void button1_Click (object sender , EventArgs e)
{
StreamReader stre = null;
int num;
try
{
.
stre = File.OpenText (@"C:\Users\Iman\Desktop\1.txt");
textBox1.Clear ();
num = stre.Read ();
while (num != -1)
{
textBox1.Text += Convert.ToChar (num);
num = stre.Read ();
textBox1.Refresh ();
Thread.Sleep (100);
}
}
catch (Exception ex)
{
MessageBox.Show (ex.Message);
}
}
بازم ممنون