Từ 1 tới 4 trên tổng số 4 kết quả

Đề tài: Cross-thread operation not valid: Control 'txt_1' accessed from a thread other than?

  1. #1
    Ngày gia nhập
    12 2008
    Bài viết
    53

    Mặc định Cross-thread operation not valid: Control 'txt_1' accessed from a thread other than?

    Mình có một bài tập về Threading , chính xác là về đa luồng

    Công việc như sau :

    Khi nhấn button Start_Threading_1 Start_Threading_2 thì sẽ ghi vào Textbox1,và Textbox2 giá trị từ 1 đến n( rất lớn) , dừng lại việc ghi đó KHI :
    + Nhấn nút Stop Thread 1, StopThread 2

    Việc đó phải thực hiện song song với nhau(Sau khi nhấn 1 button bất kỳ thì ứng dụng chạy, nhưng vẫn click được button khác để thực thi công việc khác).

    Nếu Write trên Console thì mình làm được rồi, nhưng nó nhìn không thân thiện lắm.

    Vì vậy mình làm trên Form nhưng nó bị lỗi :Cross-thread operation not valid: Control 'txt_1' accessed from a thread other than the thread it was created on.
    : " .... mình hiểu nôm na là :Đối tượng Txt_1 truy cập từ 1 Thread khác.....


    Rất mong các bạn chia sẽ cho mình hướng khắc phục.
    Mình xin chân thành cảm ơn


    Source Code của mình : http://www.mediafire.com/?zskz0q2z72vvy01
    HAY XEM

    Code chính của bài mình :
    Code:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Threading;
    
    namespace Threads
    {
        public partial class frm_Threading : Form
        {
            Thread t1;
            Thread t2;
            ThreadStart ts1;
            ThreadStart ts2;
            public frm_Threading()
            {
                InitializeComponent();
            }
    
            private void bt_start1_Click(object sender, EventArgs e)
            {
                ts1 = new ThreadStart(this.Write1);
                t1 = new Thread(ts1);
                t1.Start();
                t1.Join();
            }
           
            private void bt_start2_Click(object sender, EventArgs e)
            {
                ts2 = new ThreadStart(this.Write2);
                t2 = new Thread(ts2);
                t2.Start();
                t2.Join();
            }
    
            private void Write1()
            {
                for (int i = 0; i < 10000; i++)
                    txt_1.AppendText(i.ToString() + " \r\n");
            }
            private void Write2()
            {
                for (int i = 0; i < 1000; i++)
                    txt_2.AppendText(i.ToString() + " \r\n");
            }
        }
    }
    Đã được chỉnh sửa lần cuối bởi ndp1007 : 27-07-2010 lúc 06:03 PM.

  2. #2
    Ngày gia nhập
    02 2008
    Nơi ở
    Ho Chi Minh City
    Bài viết
    141

  3. #3
    Ngày gia nhập
    12 2008
    Bài viết
    53

    @Phucpham : Cảm ơn bạn rất nhiều . Mình xem qua cũng có thông tin kha khá.
    Giấc mơ con đè nát cuộc đời con..
    void main(){
    string myWish={"Vợ","Con","Hầm","Bánh","Lầu","Múi (Cơ bụng)"};
    for( int i = 1 ; i<=6; i++){
    printf("%d %s ",i,myWish[i-1]); }}

  4. #4
    Ngày gia nhập
    08 2011
    Nơi ở
    Yên Bái- Hà Nội
    Bài viết
    961

    Trích dẫn Nguyên bản được gửi bởi phucpham Xem bài viết
    Thank you so much. Quả là link hay.hi
    Skype: mrfour.it - Yahoo:mrfour_it
    Gmail: mrfour.it@gmail.com
    Bạn muốn học lập trình? Bạn chưa có kiến thức cơ bản? Bạn muốn học từ cơ bản tới nâng cao?... Bạn muốn có source code để tham khảo? Muốn có người hỗ trợ khi học?....http://www.laptrinh123.com sẽ giúp bạn những điều đó!

Các đề tài tương tự

  1. Sửa giúp lỗi Cross-Thread trong bài truyền nhận file qua mạng LAN
    Gửi bởi faq.c trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 2
    Bài viết cuối: 10-12-2012, 07:15 AM
  2. Xử lý lỗi Cross-thread | Cross-thread operation not valid
    Gửi bởi sunflower trong diễn đàn Tutorials và Thủ thuật lập trình C#, ASP.NET
    Trả lời: 19
    Bài viết cuối: 23-07-2012, 09:12 PM
  3. Lỗi Cross-thread operation not valid và cách khắc phục
    Gửi bởi chitvivo trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 6
    Bài viết cuối: 23-07-2012, 09:10 PM
  4. Trả lời: 0
    Bài viết cuối: 16-02-2012, 10:37 PM
  5. lỗi Cross-thread operation not valid khi dùng thread
    Gửi bởi Riku trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 13-04-2011, 02:50 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn