Zastanawiałem się, jak ukryć pasek tytułowy formie ale zachować pierwotną granicę, jak na przykład Dropbox robi: NET ukryj pasek tytułowy, ale zachować granica
Z góry dzięki!
Zastanawiałem się, jak ukryć pasek tytułowy formie ale zachować pierwotną granicę, jak na przykład Dropbox robi: NET ukryj pasek tytułowy, ale zachować granica
Z góry dzięki!
Set FormBorderStyle
do FormBorderStyle.Sizable
lub FormBorderStyle.SizableToolWindow
i ustawić Text
na pusty ciąg znaków, a ControlBox
do false
Zauważ, że FixedToolWindow
nie zadziała, to będzie usunąć granicę. Jeśli nie ma to być spory, użyj SizableToolWindow
i dodać do formularza w kodzie (dodawanie w obu językach, ponieważ nie określono i oznaczone na pytanie z obu):
w VB.NET:
Protected Overrides Sub WndProc(ByRef message As Message)
If message.Msg = &H84 Then ' WM_NCHITTEST
message.Result = CType(1, IntPtr)
Return
End If
MyBase.WndProc(message)
End Sub
W języku C#:
protected override void WndProc(ref Message message)
{
if (message.Msg == 0x0084) // WM_NCHITTEST
message.Result = (IntPtr)1;
else base.WndProc(ref message);
}
ukrywa granicę postaci całkowicie. Działa tak samo, jak ustawienie 'FormBorderStyle' na' FormBorderStyle.None'. –
@Brennced nie, nie robi, właśnie zrobiłem test, i pokazuje granicę, dokładnie tak, jak okno Dropbox – Jcl
Nieważne. Zapomniałem usunąć kod, który ukrywa krawędź formularza. Dziękuję za szybką odpowiedź. –