Heim > Backend-Entwicklung > C++ > Wie kann ich ein randloses Formular in Windows Forms verschiebbar machen?

Wie kann ich ein randloses Formular in Windows Forms verschiebbar machen?

DDD
Freigeben: 2025-01-24 15:41:09
Original
990 Leute haben es durchsucht

How Can I Make a Borderless Form Movable in Windows Forms?

Erstellen eines draggierbaren, randlosen Fensterformulars

Das Entwerfen von randlosen Formen in Windows -Formularen bietet eine schlanke, moderne Ästhetik. Dies ist jedoch häufig eine Herausforderung: Wie kann das Formular ohne die übliche Titelleiste oder Grenze beweglich sein? Dieser Artikel enthält eine Lösung mit der Windows -API.

Der Schlüssel besteht darin, einen Klick auf die Titelleiste mit den Funktionen SendMessage und ReleaseCapture zu simulieren. Diese API -Aufrufe trennen den Fenstermanager effektiv dazu, einen Drag -Operation zu initiieren, selbst wenn keine sichtbare Grenze vorhanden ist.

Hier ist die Code -Implementierung:

<code class="language-csharp">public const int WM_NCLBUTTONDOWN = 0xA1;
public const int HT_CAPTION = 0x2;

[System.Runtime.InteropServices.DllImport("user32.dll")]
public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
[System.Runtime.InteropServices.DllImport("user32.dll")]
public static extern bool ReleaseCapture();

private void Form1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
    if (e.Button == MouseButtons.Left)
    {
        ReleaseCapture();
        SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0);
    }
}</code>
Nach dem Login kopieren

Hinzufügen dieses Codes zum MouseDown Ereignishandler Ihres Formulars ermöglicht das Ziehen und Neupositionieren des randlosen Formulars, indem Sie im Kundenbereich des Formulars an irgendwohin klicken und sie an irgendwohin ziehen. Dies liefert die gewünschte Funktionalität, ohne das saubere, randlose Design zu beeinträchtigen.

Das obige ist der detaillierte Inhalt vonWie kann ich ein randloses Formular in Windows Forms verschiebbar machen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage