Sub Main(), form.Hide() [Résolu]

Messages postés
59
Date d'inscription
lundi 8 novembre 2004
Dernière intervention
14 janvier 2016
- - Dernière réponse : copyrightx
Messages postés
59
Date d'inscription
lundi 8 novembre 2004
Dernière intervention
14 janvier 2016
- 30 mars 2011 à 09:26
Bonjour,

Je suis actuellement en train de développer une application en VB.net sous Visual Studio 2005.

Mon application doit démarrer et afficher une form "login.vb" au démarrage si on est pas connecté.
Si on est connecté, cette même form "login.vb" ne doit pas apparaître et mon application doit se positionner dans le systray (zone de notification).

Le problème étant que cette form est celle sélectionner pour lancer mon application.
Il m'est impossible d'appeler "Me.Hide()" dans la méthode "Form_Load()" : normal, on est en objet et il s'agit d'une classe

Je pense qu'il faut surcharger la méthode "Main()" de mon application, apparemment gérée par Visual Studio en interne.

J'ai trouvé sur internet plusieurs solutions pour cacher ma fenêtre principale au démarrage de l'application et aucune ne me conviens et/ou fonctionne correctement (timer, windowstate, minimize, visible)

Merci de votre aide programmeurs VB !
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
423
Date d'inscription
vendredi 17 novembre 2006
Dernière intervention
15 juillet 2014
3
Merci
Ou ajoutez tout simplement la ligne
Application.EnableVisualStyles()


Dans votre sub main.
Exemple :
<STAThread()> _
Public Sub Main()
   Application.EnableVisualStyles()
   Dim frm1 As Form1
   frm1 = New Form1()
   Application.Run(frm1)
End Sub


Bien mieux ... =)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 98 internautes nous ont dit merci ce mois-ci

Commenter la réponse de foliv57
Messages postés
46
Date d'inscription
dimanche 8 septembre 2002
Dernière intervention
13 janvier 2014
0
Merci
1>Dans un module :
Sub Main()
if ......(code de vérification si connecté)
CodeRetour= FormLogin.showdialog
(Si CodeRetour) Vrai, code pour se connecter, si Faux, code pour terminer le programme)
End if
End if
(code pour mettre le prog dans le systray)
End sub

2>Dans les propriétés du projet, choisir Sub Main dans la liste "Démarrage", je sais plus comment elle s'appelle exactement, mais elle est facile à trouver, elle donne le choix entre Sub Main et toutes les Forms de l'application.
Commenter la réponse de ricky84
Messages postés
59
Date d'inscription
lundi 8 novembre 2004
Dernière intervention
14 janvier 2016
0
Merci
Bonjour ricky84,

Merci pour ta réponse.
Alors ce qui se passe c'est que j'ai également testé cette méthode là.
Mais ma fonction "Sub Main" ne s'affiche pas dans la liste des "Formulaires de démarrage".

Apparemment il faut décocher la case "Activer l'infrastructure de l'application" pour pouvoir sélectionner un "Objet de démarrage", cependant tous les styles graphiques de l'application disparaissent... et bienvenue sur une interface VB6

Another solution ?
Commenter la réponse de copyrightx
Messages postés
423
Date d'inscription
vendredi 17 novembre 2006
Dernière intervention
15 juillet 2014
0
Merci
Bonjour,

Pour garder le stype XP en décochant "Activer l'infrastructure de l'application" il me semble qu'il faut ajouter :
  <dependency>
    <dependentAssembly>
      
    </dependentAssembly>
  </dependency>


dans votre fichier app.manifest.
Ce fichier est dans le dossier "My Project", il faut cliquer sur "Affichier tous les fichiers" dans l'explorateur de solution pour le voir.

S'il n'existe pas, cliquez sur le bouton "Afficher les paramètres Windows" dans la partie "Application" des proprietes du projet pour le créer.

A tester
Commenter la réponse de foliv57
Messages postés
59
Date d'inscription
lundi 8 novembre 2004
Dernière intervention
14 janvier 2016
0
Merci
Génial ;)

Je prend la deuxième solution, encore mieux comme tu dis foliv57 !
Merci d'avoir répondu à ma question ;)
Commenter la réponse de copyrightx

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.