je pourrais enfin avoir une réponse ridiculement simple. Jusqu'à présent, dans les tests, cela fonctionne. Ayant souffert de ce problème pendant un certain temps et ayant construit un système complexe de chaque enregistrement de contrôle personnalisé qui d'entre eux avait le focus et en utilisant une minuterie pour revenir en arrière (quand acropdf l'a attrapé) j'ai revisité ce problème et lu un grand nombre de réponses (à la recherche de solutions récentes). L'information glanée m'a aidé avec l'idée.
L'idée est de désactiver le (AcroPDF) contrôle alors qu'il est en cours de chargement comme dans l'exemple suivant (le code réduit pour plus de clarté)
AxAcroPDF_this.Activé = Faux AxAcroPDF_this.src = m_src
Puis sur une minuterie, par exemple 1 seconde.
AxAcroPDF_this.Enabled = False
Fondamentalement, l'idée est de dire à Windows de ne pas laisser les utilisateurs utilisent le contrôle AcroPDF jusqu'à ce permis, afin de demander Windows pour l'empêcher de se focus (parce que les utilisateurs ne sont pas autorisés là-bas) .
Jusqu'à présent, cela se passe, je vais l'éditer si quelque chose change. Si cela ne fonctionne pas complètement pour vous alors peut-être l'idée pointe dans une direction utile.
+1 pour une réponse concise, bien que le hack acceptable particulier ne fonctionne pas pour moi (Laisser l'événement + TextBox au lieu de l'événement LostFocus d'un ListBox) - j'ai essayé l'autre solution proposée qui figure beaucoup dans les réponses à axAcroPDF + autour du Web - en utilisant Timer et en l'activant juste après avoir appelé AxAcroPDF.LoadFile, en réglant le focus sur le formulaire dans le gestionnaire d'événements Tick et en désactivant le timer juste après –