Comment puis-je faire une forme que tout ce que je fais avec la souris, il sera comme le formulaire n'est pas là et tout ce qui est derrière (qui va faire partie de mon application) recevra toute la souris. Ce que je veux faire est essentiellement un tutoriel qui met en évidence les contrôles que l'utilisateur doit cliquer. Je sais comment générer des clics mais j'aimerais étendre la fonctionnalité à toutes les entrées de souris possibles. J'ai essayé de traiter WndProc
dans mon formulaire et d'envoyer le message à tout ce qui est derrière, mais c'était un gâchis. Y a-t-il une meilleure façon de faire cela? Une autre possibilité est de garder ma forme transparente et de peindre autour de tout contrôle qui devrait recevoir une entrée de la souris, mais je veux juste savoir si la chose en surbrillance (peindre sur le contrôle avec un pinceau semi-transparent) est possible.Formulaire semi-transparent qui ignore (ou envoie à l'arrière-plan) l'entrée de la souris?
0
A
Répondre
0
Créer une fenêtre de tutoriel (semi-transparent) avec le constructeur en prenant un paramètre de la fenêtre parente. Dans les événements MouseDown/MouseUp de la fenêtre, appelez le gestionnaire d'événements souris/souris du parent.
public partial class ParentWindow: Fenêtre { de ParentWindow publique() { InitializeComponent(); }
private void testButton_Click(object sender, RoutedEventArgs e)
{
TutorialWindow tutorialWindow = new TutorialWindow(this);
tutorialWindow.Show();
}
public void Window_MouseDown(object sender, MouseButtonEventArgs e)
{
// Do something
}
}
Et la classe TutorialWindow
public partial class TutorialWindow: Fenêtre { parent ParentWindow privé;
public TutorialWindow(ParentWindow parent)
{
InitializeComponent();
this.parent = parent;
}
private void Window_MouseDown(object sender, MouseButtonEventArgs e)
{
this.parent.Window_MouseDown(sender, e);
}
}
Les propriétés de la fenêtre Tutorial peuvent être modifiés pour le rendre semi-transparent et même « fondu » loin lorsque l'utilisateur clique dans la fenêtre.