Maison > développement back-end > C++ > Comment puis-je rendre un formulaire sans bordure mobile dans Windows Forms ?

Comment puis-je rendre un formulaire sans bordure mobile dans Windows Forms ?

DDD
Libérer: 2025-01-24 15:41:09
original
990 Les gens l'ont consulté

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

Création d'un formulaire Windows déplaçable et sans bordure

La conception de formulaires sans bordure dans Windows Forms offre une esthétique élégante et moderne. Cependant, cela présente souvent un défi : comment rendre le formulaire mobile sans la barre de titre ou la bordure habituelle ? Cet article propose une solution utilisant l'API Windows.

L'essentiel est de simuler un clic sur la barre de titre à l'aide des fonctions SendMessage et ReleaseCapture. Ces appels d'API incitent efficacement le gestionnaire de fenêtres à lancer une opération de glisser, même en l'absence de bordure visible.

Voici l'implémentation du code :

<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>
Copier après la connexion

L'ajout de ce code au gestionnaire d'événements MouseDown de votre formulaire vous permet de faire glisser et de repositionner le formulaire sans bordure en cliquant et en faisant glisser n'importe où dans la zone client du formulaire. Cela fournit la fonctionnalité souhaitée sans compromettre le design épuré et sans bordure.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal