2010-06-23 5 views
0

Est-il possible dans .Net (ou thru pinvoke) de déterminer si une fenêtre est obstruée de la vue (par exemple, d'autres fenêtres ont été déplacées par-dessus, de sorte qu'elle ne peut pas être vue)? Ce que je fais est de vérifier si le formulaire est minimisé, puis clignotant la fenêtre sur la barre des tâches si c'est le cas. Cependant, le problème est que, s'il n'est pas minimisé, mais simplement déplacé en arrière-plan, je souhaite également avertir l'utilisateur en faisant clignoter la fenêtre dans la barre des tâches. Je ne veux pas déplacer automatiquement la fenêtre au premier plan (même sans activation). Je veux qu'ils cliquent dessus pour maximiser et/ou montrer le formulaire. Des idées?Déterminer si la forme des fenêtres est obstruée

Voici quelques code:

 
        // See if we already have a conversation going with this person 
        var frm = theApp.GetConversationByUID(fromuid); 
        if (frm == null) 
        { 
         frm = theApp.NewConversation(fromuid, fromname); 
        } 
        else 
        { 
         bool withinView = frm.WindowState != FormWindowState.Minimized; 
         if (withinView) 
         { 
          // Determine if window is just obstructed 
          //TODO 
         } 

         // If the conversation window is not within view, then flash it 
         if (!withinView) 
         { 
          FlashWindow.Flash(frm); 
         } 
        } 

Répondre

1

Essayez this code.

+0

Le code de Tergiver est correct, il y a longtemps que vous auriez dû obtenir un corrigé. Fixé. –

Questions connexes