2014-11-20 2 views
0

일부 프로젝트의 반복 과정에서 C#으로 속도 향상. 필자가 예상 한 여러 가지 개념은 내가 예상했던 것보다 다른 답변을 가지고 있지만 궁극적으로 Windows API와 그 구조에 대한 이유에 대해 더 많이 가르쳐 준다. 또한 아직 이전 스레드를 참조MessageBox 클래스에 지오메트리가없는 메서드가 표시되는 이유는 무엇입니까?

How to change the size of MessageBox in c#?

:

나는 "C# 컨트롤의 크기와 위치 메시지 상자의"결과 중 하나가 2 세 스레드이었다에 대한 최근의 검색을했다.

좋아요, 나는 "불가능합니다. 이것을 위해 자신 만의 양식을 만들어야합니다."와 몇 가지 예 및/또는 지침이 이어졌습니다.

이 특별한 경우에, 나는 동의하지 않고 클래스 디자이너의 의도를 보지 못한다.

자연스럽게 검색 한 또 다른 결과는 MessageBox 클래스의 Show() 메소드입니다. 이것은 Show() 메소드를위한 19 가지 오버로드가있는 클래스로 되돌아 왔습니다. 그 중 어느 것도 기하학과 관련이 없습니다. 나는 아주 간단하다고 느낍니다.

내 요점은 다양한 Show() 메소드의 기능으로 프로그래머가 아이콘, 제목 텍스트, 내용 텍스트 및 버튼을 선택할 수 있도록합니다. 도움말 네비게이터와도 통합되어 있습니다. 이것은 위젯을위한 엄청난 양의 내장 된 유연성이지만 그 위젯의 크기와 위치를 제어 할 수는 없습니까? 이것은 실제로 4 개의 숫자입니다 : X, Y, x-depth, y-depth.

나는 새로운 형식을 만들 수 있다는 것을 완전히 이해하고 나를 위해 클래스 (?)를 만들 수 있음을 완전히 알고 있습니다. 사실 그것은 단순화 문제를 가지고 있습니다. 물론 ... 전체 양식을 만들 수 있습니다. 그것은 내가 그것을 관리하고 그것을 다루어야 할뿐만 아니라 제 자신의 제례에 의해 그것을위한 방법을 제공해야한다는 것을 의미합니다. MessageBox 클래스를 기반으로 클래스를 생성한다면 어떻게 될까요? X/Y/x-depth/y-depth에 대한 과부하가있는 새로운 Show() 메서드를 만들 수 있는지 알기 위해 조금만 돌아봐야 만합니다.

이러한 전반적인 기능은 매우 자연스러운 일입니다. 팝업 알림. 상자에 ERROR 또는 WARNING을 표시하도록 제목을 지정하고 상자에 설명 텍스트를 추가했습니다. 그 상자에 OK 및/또는 CANCEL 기능이 있어야합니다. 그래서 디자이너들이 기능을 제한하고 팝업의 크기와 위치를 허용하지 않기로 결정한 이유가 궁금합니다. 기본 결과는 시스템이 결정할 때마다 상자에 넣기 때문에 콘텐츠에 따라 못생긴/작거나 큽니다.

마지막 궁금한 점은, 내 자신의 사용자 정의 양식을 작성해야하는지, 아니면 실제로 MessageBox를 상속하고 지오메트리를 지원하는 사용자 정의 Show() 메소드를 만드는 클래스를 만드는 데 성공했는지 여부입니다.

아마도 그 이상의 것 : 나는 잘못 알고 있습니까? 이 수업은 내 요구를 충족시키기 위해 업데이트되었지만 아직 알지 못합니까?

+0

MessageBox가 봉인되지 않았으므로 그렇습니다. 그렇다면 자신의 클래스를 파생시킬 수는 있지만 목적은 무엇입니까? MessageBox라는 기본 클래스의 위치와 크기는 여전히 변경할 수 없습니다. MessageBox 역할을하는 사용자 정의 양식을 낭비 할 시간이 있다면. 이 토론 참조 https://social.msdn.microsoft.com/Forums/en-US/c4fcd52d-1e65-4be0-be9b-c96d5b0448dc/is-it-possible-to-override-the-messagebox-class?forum=Vsexpressvcs – Steve

답변

0

아니요, MessageBoxunderlying Win32 API이 허용하지 않으므로 크기를 지정할 수 없습니다.

불가능합니다. "몇 가지 예 및/또는 지침이 뒤따른이 양식을 만들어야합니다.

메시지 상자가 위치와 크기 조정을 지원하지 않는다는 사실에 동의하는지 여부에 동의하는지 여부와 상관없이 올바른 내용입니다. 그것들은 빠르고 단순하며 원시적 인 것들이지만, 그 일을 끝낼 수도 있습니다. 그 이상이면 양식이 필요합니다. 크기 조정을 원할 수도 있고 다른 사람들이 투명성을 원하거나 버튼의 텍스트를 변경할 수있는 기능 (선택 항목 만 선택할 수 있음)을 원할 수도 있습니다. 모든 사람을 행복하게 만들 수는 없습니다. 그 시점에서 양식에 대한 필요성을 거의 느끼게되었습니다.

관련 문제