c# 다이얼로그 예제

대화 상자를 열고 사용자가 필요한 데이터를 제공 하면 대화 상자는 제공 된 데이터가 다음 이유로 유효한지 확인 하는 담당: 이 항목에서는 창을 사용 하 여 일반적인 모달 대화 상자 구현을 만드는 방법을 보여 주는. 여백 대화 상자를 예로 들 수 있습니다(대화 상자 샘플 참조). 여백 대화 상자는 다음 그림에 표시됩니다. ShowDialog를 사용하여 대화 상자를 여는 것은 기본적으로 메서드를 호출하는 것과 같습니다. ShowDialog가 반환되면 사용자가 확인 단추를 눌렀는지 또는 취소 단추를 눌렀는지 여부에 따라 처리를 계속할지 또는 중지할지 여부를 결정해야 합니다. 이 결정을 용이하게 하려면 대화 상자는 ShowDialog 메서드에서 반환 되는 부울 값으로 사용자의 선택을 반환 해야 합니다. 확인 단추를 클릭하면 ShowDialog가 true로 반환됩니다. 이 설정 하 여 달성 대화 상자의 대화 상자의 확인 단추를 클릭 할 때 결과 속성입니다. 가장 간단한 대화 상자 유형은 메시지를 표시하는 경고이며 일반적으로 « OK »를 클릭하거나 « 확인 » 또는 « 취소 »를 클릭하여 작업을 계속할지 여부를 결정하여 메시지를 읽었는지 확인하도록 요구할 수 있습니다. 모든 Windows 응용 프로그램에 공통적인 사용되는 대화 상자입니다. 파일 저장, 글꼴 선택 등과 같은 일반적인 작업을 수행합니다. 이는 응용 프로그램 인터페이스에 대한 표준 방법을 제공합니다. 지난 몇 가지 기사에서는 WPF의 기본 제공 대화 상자를 사용하는 것을 살펴보았지만 직접 만드는 것은 거의 쉽습니다.

실제로 창을 만들고 필요한 컨트롤을 배치한 다음 표시하기만 하면 됩니다. 사용자가 제목 표시줄에서 닫기 단추를 누르거나 시스템 메뉴에서 메뉴 닫기 항목을 선택하면 대화 상자가 자동으로 false로 돌아갑니다. 대화 상자를 구성한 후 ShowDialog 메서드를 호출하여 모드로 표시됩니다. 사용자가 클릭하여 대화 상자를 닫고 함수로 돌아가고 처리를 계속하는 확인 단추입니다. OpenFile Dialog 구성 요소를 사용하면 사용자가 네트워크의 컴퓨터 또는 컴퓨터의 폴더를 찾아보고 열 파일을 하나 이상 선택할 수 있습니다. 대화 상자는 대화 상자에서 선택한 파일의 경로와 이름을 반환합니다. 또한 대화 상자 단추에 사용 했던 두 속성에 특히 주의: IsCancel 및 IsDefault. IsCancel는 WPF에 사용자가 이 단추를 클릭하면 창의 대화 결과도 창을 닫을 false로 설정해야 한다고 WPF에 알려줍니다. 또한 사용자가 키보드에서 Esc 키를 눌러 Windows 대화 상자에서 항상 가능해야 하는 창을 닫을 수 있습니다. 이 버전의 ShowDialog 메서드는 폼이나 컨트롤을 소유자로 지정하지 않습니다. 이 버전이 호출되면 현재 활성 창이 대화 상자의 소유자가 됩니다.

특정 소유자를 지정하려면 이 메서드의 다른 버전을 사용합니다. 대화 상자를 표시 할 때 TextBox에 포커스를 부여하기 위해 컨트롤의 모든 텍스트를 선택한 다음 포커스를 제공하는 ContentRendered 이벤트를 구독했습니다. 포커스를 주고 싶다면 창에 FocusManager.FocusedElement 첨부 속성을 사용할 수 있지만이 경우 사용자가 기본적으로 제공 된 답변을 즉시 덮어 쓸 수 있도록 텍스트를 선택하려고합니다 (있는 경우). 반면에 모덜리스 대화 상자는 열려 있는 동안 사용자가 다른 창을 활성화하는 것을 방지하지 않습니다. 예를 들어 사용자가 문서에서 특정 단어의 발생을 찾으려는 경우 주 창은 종종 대화 상자를 열어 사용자에게 원하는 단어를 묻습니다. 그러나 단어를 찾는 것이 사용자가 문서를 편집하는 것을 방해하지 는 않으므로 대화 상자가 모달일 필요는 없습니다. 모덜리스 대화 상자는 적어도 대화 상자를 닫는 닫기 단추를 제공하며 다음 찾기 단추와 같은 특정 기능을 실행하는 추가 단추를 제공하여 단어 검색의 찾기 기준과 일치하는 다음 단어를 찾을 수 있습니다.