모달 대화 상자가 있으며 닫기 (X) 버튼을 숨겨야하지만 ControlBox = false
최소화 및 최대화 버튼을 유지해야하기 때문에을 사용할 수 없습니다
.
닫기 버튼 만 숨겨야합니다. 할 수있는 방법이 있습니까?
고마워요!
업데이트 : 나는 그것을 비활성화 할 수있는 권한을 가졌습니다. 더 간단합니다 :) 모두 감사합니다!
모달 대화 상자가 있으며 닫기 (X) 버튼을 숨겨야하지만 ControlBox = false
최소화 및 최대화 버튼을 유지해야하기 때문에을 사용할 수 없습니다
.
닫기 버튼 만 숨겨야합니다. 할 수있는 방법이 있습니까?
고마워요!
업데이트 : 나는 그것을 비활성화 할 수있는 권한을 가졌습니다. 더 간단합니다 :) 모두 감사합니다!
답변:
숨길 수는 없지만 양식의 CreateParams 속성을 재정 의하여 사용하지 않도록 설정할 수 있습니다.
private const int CP_NOCLOSE_BUTTON = 0x200;
protected override CreateParams CreateParams
{
get
{
CreateParams myCp = base.CreateParams;
myCp.ClassStyle = myCp.ClassStyle | CP_NOCLOSE_BUTTON ;
return myCp;
}
}
설정으로 폼에 닫기 버튼을 숨길 수있다 this.ControlBox=false;
전체 시스템 메뉴를 제거하여 숨길 수 있습니다.
private const int WS_SYSMENU = 0x80000;
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.Style &= ~WS_SYSMENU;
return cp;
}
}
물론 이렇게하면 최소화 및 최대화 버튼이 제거됩니다.
시스템 메뉴를 유지하면서 닫기 항목을 제거하면 닫기 단추는 남아 있지만 비활성화됩니다.
마지막 대안은 비 클라이언트 영역을 직접 페인트하는 것입니다. 제대로 이해하기가 어렵습니다.
ControlBox
false 로 설정하는 것과 같습니다 . 또한, 그것은 요구 사항을 충족시키지 못합니다 : 최소화 및 최대화 버튼을 유지해야합니다
hide close button c#
, 두 번째 결과는 여기입니다! =)