해결책
나는 이것을 달성 할 수 있었다 :
if (m.Msg == 0x84 /* WM_NCHITTEST */) {
m.Result = (IntPtr)1;
return;
}
base.WndProc(ref m);
다른 팁
Winforms를 사용하여 양식을 작성하고 다음을 설정하십시오.
Text = "";
FormBorderStyle = Sizable;
ControlBox = false;
MaximizeBox = false;
MinimizeBox = false;
ShowIcon = false;
편집하다:
이것은 창을 상당 부분으로 만들어야하지만 조금 속임수를 쓸 수 있습니다. 최소 크기와 최대 크기를 원하는 크기로 설정하십시오. 이렇게하면 사용자가 크기를 조정하지 못하게됩니다.
Jeff가 제안한 것처럼 CreateParams에서도 이것을 할 수 있습니다.
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
unchecked
{
cp.Style |= (int)0x80000000; // WS_POPUP
cp.Style |= 0x40000; // WS_THICKFRAME
}
return cp;
}
}
그러나 두 경우 모두 가장자리 위로 마우스를 올릴 때 여전히 크기가 커서 커서를 얻을 수 있습니다. 그 일이 일어나지 않도록하는 방법을 잘 모르겠습니다.
CreateParams에서는 ws_popup 및 ws_thickframe을 지정합니다.
테두리 핸들 위의 크기 커서를 방지합니다 WM_NCHITTEST
그리고 국경이 돌아올 때 HTBORDER
.
제휴하지 않습니다 StackOverflow