Form qui clignote

bergerp Messages postés 5 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 20 février 2007 - 19 févr. 2007 à 15:10
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 - 20 févr. 2007 à 08:51
J'ai un petit problème au démarrage d'une application crée sous VB2005.

Cette appli commence par un Splashscreen puis par l'ouverture d'un form (Identification) avec un Textbox1 et un bouton (OK_Button
). L'utilisateur doit rentrer un code d'utilisateur dans le textbox puis valider sur OK (cf code prg ci-dessous).

Lorsque je lance F5 sous VB2005 (démarer le débogage) tout se passe normalement.
Par contre quand je démarre l'application (après avoir compilé le code sur mon PC, puis après l'avoir installé sur mon PC ou sur un autre PC, et à condition que VB2005 soit fermé par ailleurs), le form s'affiche mais clignote quelque fois avant de rester désélectionné.

Cela pose un problème pratique car l'utilisateur est invité à rentrer un code d'identification dans le TextBox1 mais ne peut pas le faire avec son clavier car le form n'est pas sélectionné, même si le curseur clignote dans le textbox. Cela marche si l'utilisateur clique d'abord sur le form et ensuite il peut rentrer son code.
Je ne comprends pas car mon code sélectionne le formulaire (Me.Selct) ainsi que TextBox (TextBox1.Select
).
Je ne comprends pas pourquoi ce bug n'arrive qu'en dehors de VB2005. Mon système d'exploitation est Windows Xp pro SP2.

Quelqu'un a-t-il une idée?

Merci
Imports

System.Windows.Forms

Public
Class Identification

Private
Sub Identification_Load(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles
MyBase.Load

Me.Select()

Me.AcceptButton = OK_Button
'défini le bouton OK comme bouton par défaut activable par la touche ENTRE
TextBox1.Select()

End
Sub

End Class

3 réponses

erefdatacomputing Messages postés 165 Date d'inscription mardi 7 mars 2006 Statut Membre Dernière intervention 24 avril 2018
19 févr. 2007 à 19:14
Salut !! 

Utilises tu un  'Timer' pour rafraichier ta form dans ton appli ?

 
Je comprends vite mais il faut m'expliquer longtemps et tout en détails !!!
0
bergerp Messages postés 5 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 20 février 2007
20 févr. 2007 à 08:26
Non pas pour ça ni pour ce form
Mais par contre j'utilise un timer dans les forms suivants pour mettre à jour les data adapters dupuis une base Access.
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
20 févr. 2007 à 08:51
J'ignore totalement ce que tu fais dans ta form qui "clignote" et ne connais par ailleurs rien de VB.Net.

J'imagine simplement qu'elle clignote pour des raisons d'affichage et de rafraichissement.
Le code ne contiendrait-il pas, par exemple, la transformation d'un ou de plusieurs des contrôles contenus dans cette Form (surtout des images ?)
Si oui, tu aurais peut-être alors intérêt à "figer" le rectangle de la Form elle-même par l'utilisation de la fonction InvalidateRect de la librairie User32.dll de l'Api de Windows, fonction décrite ici :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/pantdraw_7ano.asp

La fonction ValidateRect, ensuite, te permet de "relibérer" le dit rectangle.

Désolé de ne pouvoir aller plus loin, mais je te réponds là "en aveugle"...
0
Rejoignez-nous