Maison >développement back-end >C++ >Comment empêcher un formulaire de notification de voler le focus ?

Comment empêcher un formulaire de notification de voler le focus ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-15 18:02:44956parcourir

How to Prevent a Notification Form from Stealing Focus?

Comment empêcher un formulaire d'attirer le focus ?

Lors de l'affichage d'un formulaire en tant que notification, l'attention se détourne souvent du formulaire principal, ce qui peut interrompre le flux des utilisateurs. Pour résoudre ce problème, vous pouvez utiliser l'attribut ShowWithoutActivation ou la substitution CreateParams pour empêcher la capture du focus.

Afficher sans activation

Le remplacement de la propriété Form.ShowWithoutActivation empêche le formulaire d'obtenir le focus lors de son affichage.

<code class="language-csharp">protected override bool ShowWithoutActivation
{
  get { return true; }
}</code>

Remplacement de CreateParams

Si le formulaire de notification doit également être insensible aux clics, vous pouvez utiliser la substitution CreateParams :

<code class="language-csharp">protected override CreateParams CreateParams
{
  get
  {
    CreateParams baseParams = base.CreateParams;

    const int WS_EX_NOACTIVATE = 0x08000000;
    const int WS_EX_TOOLWINDOW = 0x00000080;
    baseParams.ExStyle |= (int)(WS_EX_NOACTIVATE | WS_EX_TOOLWINDOW);

    return baseParams;
  }
}</code>

En utilisant ces méthodes, le formulaire de notification peut être affiché sans perturber le focus du formulaire principal.

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!

Déclaration:
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