2012-01-31 3 views
1

을 진행 형태에 대기, 그래서 그것을 놓친하는의 수 있지만C#을 윈폼 내가 피곤하고 배고파

... 나는 기존의 게시물이 포함되지 볼 수있는에서 나는에 대한 플러그인을 쓰고 있어요 신청. 내 플러그인은 특정 데이터를 얻기 위해 양식을로드하고, 웹캠을 사용하여 바코드를 스캔합니다. 바코드가 발견되면 양식이 숨겨집니다 (나중에 다시 입력해야 함).

string readData = null; 

if (eye == null) 
{ 
    System.Windows.Forms.Application.EnableVisualStyles(); 
    eye = new CamView(); 
} 
eye.Show(); 
if (eye.found) 
{ 
    readData = eye.readData; 
} 

return readData; 

그래서, 내 문제가 차단되지 않는 eye.show()이다 : 이것은 내가 현재 바코드 작업을 수행하는 형태를 호출하는 방법입니다. 바코드가 나타날 때까지 양식이 나타나고 바르게 진행됩니다. 나는 스레딩이나 락킹의 어떤 형태를 사용해야한다고 생각하지만, 그렇게하려는 나의 원유 시도는 인터페이스를 완전히 동결 시켰습니다.

"눈"양식은 기본적으로 웹캠의 뷰 파인더이며 camera_OnImageCapture 이벤트를 사용하여 바코드에 대한 이미지 검사를 수행합니다.

플러그인을 호출하는 응용 프로그램이 양식을 마칠 때까지 기다리는 우아한 방법이 있습니까? 또는 "눈 모양"에 동의 버튼을 추가하기 만하면됩니까?

건배. 그리고 어쨌든 재 게시에 있다면 겸손한 사과.

답변

2

당신은 올바른 길을 가고 있습니다. CamView를 모달 대화 상자로 표시하지만 수용 버튼을 추가하지 않도록 코드를 변경합니다. 대화 상자를 닫으려면 camera_OnImageCapture를 변경하십시오.

+0

고맙습니다. .close() 사용하기. –

3

.ShowDialog(); http://msdn.microsoft.com/en-us/library/c7ykbedk.aspx

는 "당신은 응용 프로그램에서 모달 대화 상자를 표시하려면이 방법을 사용할 수 있습니다.이 메소드가 호출되면, 코드는 대화 상자가 닫힐 때까지 실행되지 않습니다 다음과 같습니다."

+0

감사합니다. 그 트릭을 완료 한 것 같습니다. –

+0

아주 좋은 친구, 당신은 그것을 못 박았습니다. – docesam