none
Thread 실행 시 Main Form 내 progress bar나 textbox에 접근 방법 질문 RRS feed

  • 질문

  • 안녕하세요.

    초짜다보니 매일 모르는것이 생기네요.

    오늘은 Thread 관련 문의 드립니다...^^;

    1. Window Form Application으로 프로젝트 생성 후, 버튼클릭 이벤트 코드에서 Thread를 돌릴 때 Form내에 있는 컨트롤들에 Access가 안되네요. 어떻게 해결해야 하나요?

    2. 아래 test_Thread()에 인자가 있다면 어떻게 넘기나요?

    아래는 코드입니다.

    private void btn_Click(object sender, EventArgs e)
            {
                Thread t1 = new Thread(new ThreadStart(test_Thread));
                t1.Start();
            }

            private void test_Thread()
            {...
                progBar.Minimum = 0;
                progBar.Maximum = nCnt;
                progBar.Step = 1;
                progBar.PerformStep();

    ...}

    Build는 되지만 실행시키면 아래와 같은 PoPUP 메시지가 뜨네요.

    An unhandled exception of type 'System.InvalidOperationException' occurred in System.Windows.Forms.dll

    Additional information: Cross-thread operation not valid: Control 'progBar' accessed from a thread other than the thread it was created on.

    감사합니다.



    • 편집됨 Cruiser9 2015년 4월 17일 금요일 오전 12:42
    2015년 4월 16일 목요일 오후 3:48

답변

모든 응답