2009-05-21 7 views
1

J'ai une application WPF que je voudrais devenir la fenêtre actuelle lorsque le curseur de la souris passe dessus. Actuellement, j'ai un événement onMouseEnter qui change le curseur quand la souris le survole, donc je sais que le système le reconnaît, mais ce que je veux vraiment, c'est que l'application elle-même devienne concentrée comme si l'utilisateur avait cliqué dessus - donc je peut ensuite effectuer d'autres opérations. Au moment où je bouge dessus le curseur change mais si une autre application, par exemple - le bloc-notes avait le focus, le focus reviendrait à cela après.C# Comment modifier l'événement onMouseEnter sur la fenêtre

Dans le gestionnaire onMouseEnter j'ai essayé "this.Focus()" et "this.Activate()" mais ni l'un ni l'autre n'obtiennent le même résultat que si j'avais cliqué sur l'application.

Des idées?

Répondre

0

Modifier: La réponse affichée ne fonctionnera pas pour WPF. Pardon.

Essayez de regarder cette place pour WPF: http://blogs.msdn.com/nickkramer/archive/2006/03/18/554235.aspx

+0

merci Auxon, avez-vous des exemples sur la façon dont je le ferais? et où est-ce fait, dans le gestionnaire d'événements? – Grant

+0

Il ya la question SO que je viens d'ajouter via edit, et peut-être http://dotnet.sys-con.com/node/39039. J'ai essayé de trouver quelque chose de plus proche de votre problème, mais je n'ai encore rien trouvé. Toujours à la recherche. –

+0

Merci. Apprécié. – Grant

1

WPF C# Exemple avec un événement MouseEnter attaché à une grille de contrôle. Si une autre fenêtre de l'application a le focus, elle le supprimera et attachera le focus à la fenêtre principale comme si l'utilisateur avait cliqué dessus.

private void GrdContent_MouseEnter(object sender, MouseEventArgs e) 
    { 
     Application.Current.MainWindow.Activate(); 
    } 
+0

s'il vous plaît ajouter une explication pour votre code –

Questions connexes