2014-10-11 2 views
-1

엄청난 양의 항목을 목록 상자에 넣어야하는 프로그램을 작성하고 있습니다.많은 양의 항목을 목록 상자에 추가하는 동안 멈추지 마십시오.

문제는 추가하는 동안 멈추고 모든 항목을 추가하는 데 필요한 시간이 몇 시간이 될 수 있다는 것입니다.

어쨌든 많은 양의 항목을 추가하고 앱을 중단하지 않습니까?

+2

[Turning Option Strict] (http://support2.usb/311329)를 적극 권장합니다. 당신은 이상한 암묵적 데이터 변환을 많이하는 것처럼 보입니다. 예를 들어'sequence'를 배열로 변환 한 다음'시도 '라는 문자열에 저장합니다. 또한이 코드가 목록 상자가 포함 된 양식에서 실행 중이면 다른 스레드에서 실행하려고하는 이유가 없습니다. 폼이 멈추는 원인이되는 코드는 어떻게 아는가? –

+0

좋습니다. 당신은이 코드를 위해 함수 (Sub)의 시작을 게시하지 않았으므로 문제를 야기 할 수있는 더 큰 시스템의 일부인지 확실하지 않았습니다. 아래의 jmcilhinney의 조언은 올바른 방향으로 인도해야하지만, 확실히 Option Strict를 사용하십시오. –

답변

0

저스틴 라이언 (Justin Ryan)은 귀하의 코드가 실제로 의미가 없다고 동의합니다. Option Strict On으로 바꾸고 적절한 코드를 작성해야합니다.

그건 그렇습니다. 귀하의 시나리오는 BackgroundWorker에 맞게 조정되었으므로 분명히 열심히 노력한 것은 아닙니다. BackgroundWorker은 어떻게 작동합니까? DoWork 이벤트 처리기에서 백그라운드 작업을 수행하고 ProgressChanged 이벤트 처리기로 이동하고 RunWorkerCompleted 이벤트 처리기에서 UI를 업데이트하면 UI가 업데이트됩니다.

  • 배경 작업이란 무엇입니까? 해시를 만드는 루프입니다.
  • 이동하면서 수행해야하는 UI 업데이트는 무엇입니까? 시도를 log.Items에 추가 중입니다.
  • 완료되면 어떤 UI 업데이트를 수행해야합니까? Crack.Text을 설정하십시오.

BackgroundWorker과 같이 간단합니다.

관련 문제