문제

표준 Windows 예/아니오 또는 예/아니오/취소 메시지 상자에 대한 괜찮은 교체를 찾고 있습니다.

나는 종종 이러한 표준 대화 상자가 "일반 텍스트로 저장하거나 HTML에 대한 답변을 저장하기 위해"와 같은 방식으로 잘못 사용되는 것을 보았습니다. 분명히 텍스트는 "저장으로 :"버튼은 "텍스트"와 "html"으로 표시되어야합니다. 요청을받는 것은 예/아니오 의문이 아니며, 그런 식으로 표현 될 수는 있지만 읽고 이해하기 쉽지 않을 것입니다.

Microsoft는 버튼의 텍스트를 변경할 방법을 제공하지 않습니다. 위에서 언급 한 어색한 스타일을 사용하여 응용 프로그램 수에 의해 입증 된 바와 같이, 처음부터 교체품을 처음부터 구축하는 빠른/간단한 방법은 없습니다.

최소한 무료 C# 교체 대화 상자 또는 메시지 상자가 있습니까?
- 버튼 수를 지정합니다
- 각 버튼에 나타날 텍스트를 지정하십시오
- 기본 버튼을 지정합니다

나는 하나를보고 찾을 수 없었습니다.

(나는 직접 구축 할 것이지만, 작은 서브 세트 만 필요/사용/알고 있기 때문에 완전히 기능적 인 제어가 가져야 할 모든 행동에 충분히 익숙하지 않습니다. 테마와 국제화를 사용하지 않는 두 가지 예. 동료들도 사용하고 싶은 것이 필요합니다.)

도움이 되었습니까?

해결책

체크 아웃 MessageBox를 해부합니다 CodeProject에서. 프로젝트는 약간 날짜가 있지만, 당신이 찾고있는 것과 거의 정확히 일치하며 업데이트하는 데 많은 시간이 걸리지 않아야합니다.

다른 팁

대상 플랫폼에 따라 a 작업 대화 상자 이 작업을 수행하는 좋은 방법 일 수 있습니다. 작업 대화 상자에 대한 .NET 래퍼가 있습니다. Windows API 코드 팩. 그러나 이들은 XP 또는 2003이 아닌 Windows Vista 이상에서만 제공됩니다.

솔직히, 그러한 메시지 상자를 직접 만드는 것은 어렵지 않습니다. 우리는 우리가 개발중인 현재 앱에서 그러한 일이 작동합니다.

필요한 것은 생성 버튼을 자동 정렬시키는 버튼의 FlowLayout입니다. 그런 다음 API에는 (Params Tupleu003Cstring,DialogResult> [] 버튼)

튜플은 두 가지 값을 포함하는 도우미 클래스입니다. 문자열은 버튼의 텍스트이고 Dialogresult는 해당 텍스트가있는 버튼을 클릭 할 때 MessageBox가 반환하는 것입니다.

나는 Frank와 동의합니다. 이것을 처리하는 자신만의 일반적인 형태를 만드는 것은 너무 어렵지 않을 것입니다. 코드에 들어 가지 않고 양식은 다음을 수행해야합니다.

1) 표시하려는 메시지를 사용자에게 설정할 수있는 속성이 있습니다.

2) 버튼을 추가하는 방법, 2 개의 인수, 하나는 버튼 텍스트 및 대화 상자 결과를위한 방법이 있습니다.

3) 양식이 표시되면 옵션 중 하나가 클릭 될 때까지 응용 프로그램의 나머지 부분이 비활성화되도록 모달 대화 모드에 있어야합니다.

따라서 저장 AS/Save/Necal을 만들려면 2 단계에 적절한 버튼 텍스트 및 대화 상자 결과가 포함 된 3 개의 버튼을 추가합니다.

흐름 레이아웃을 사용하면 메시지 크기 또는 버튼 수에 관계없이 제대로 표시 할 수 있어야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top