2013-11-28 3 views
0

나는 static class ControlCenter이 있는데, 이는 시간 간격으로 외부 시스템과 통신합니다. 모든 질문마다 & 외부 시스템에 대한 응답 내 ControlCenter는 상태 정보 UI 레이어를 제공하는 event을 발생시킵니다. 통신이 실패하더라도 오류 메시지가있는 event이 발생합니다.
지금 문제 :
일부 통신 오류가있는 경우대화 모드에서 양식 또는 대화 상자를 표시하면 사용자는이 표시된 UI 항목과 만 상호 작용할 수 있습니다.
오류가 있어도 ControlCenter와 UI 계층 간의 통신이 계속되고 exampl에 대한 대화 상자 실제 데이터를 보여주고 싶습니다 "재시도 중 ... 20 번째 시도에서 서비스 중지 하시겠습니까?"
부모 폼 (맨 위 UI 레이어)에서 사용자가 클릭하거나 프로그래밍 방식으로이 대화 상자 양식을 숨길 수 있기를 원합니다.
대화 상자에 데이터 제공

부모 양식의 데이터로 내 양식 소비 이벤트를 만들고 MyForm.ShowDialog()을 표시하려고했습니다. 하지만 showdialog() 이후 UIlayer는 대화 상자를 통해 사용자 작업을 기다립니다.

이 컨텍스트에 대한 몇 가지 연습을 알고 있습니까?
대단히 감사합니다.

+0

문제를 나타내는 코드를 게시하면 도움이됩니다. – Surfbutler

+0

"대화 상자에 대화 상자를 표시하여 대화 상자를 표시하여 사용자가이 UI 항목과 만 상호 작용할 수있게하려는 경우"및 "showdialog() 후에 UIlayer가 대화 상자를 사용하여 사용자 작업을 기다립니다" 'ShowDialog'를 사용하여 새로운 폼을 표시하면, 닫을 때까지 나머지 UI는 접근 할 수 없습니다. 당신이 성취하려고하는 것이 명확하지 않습니다. –

+0

@ GrantWinney : 나는 이것을 기대하고 있었다. 나는 다른 해결책을 찾고 있는데, 나는 그 말이 맞다. 나는 여기에 묻기 전에 약간의 진전을 시도했다는 것을 증명하기 위해 설명했다. 내가 원하는 것은 : 실시간으로 부모로부터 데이터를 소비하는 표준 대화 상자 표시. 대화 상자에 "어떤"데이터를 제공 할 수 있다면 자기를 닫아야한다고 말할 수 있기 때문에이 대화 상자의 "죽이기"장소는 옳지 않습니다. –

답변

1

This 질문은 당신과 매우 유사하며 샘플이있는 answer입니다. 필요한 정보를 얻기 위해 BackgroundWorker 클래스를 사용합니다.

+0

덕분에 문제가 해결되었습니다. 나는 그 이름 아래를 보지 않을 것이라고 생각했다. –

관련 문제