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

copyrightx 59 Messages postés lundi 8 novembre 2004Date d'inscription 14 janvier 2016 Dernière intervention - 28 mars 2011 à 19:20 - Dernière réponse : copyrightx 59 Messages postés lundi 8 novembre 2004Date d'inscription 14 janvier 2016 Dernière intervention
- 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 

5 réponses

Répondre au sujet
foliv57 423 Messages postés vendredi 17 novembre 2006Date d'inscription 15 juillet 2014 Dernière intervention - 29 mars 2011 à 13:33
+3
Utile
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 ... =)
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de foliv57
ricky84 46 Messages postés dimanche 8 septembre 2002Date d'inscription 13 janvier 2014 Dernière intervention - 29 mars 2011 à 08:06
0
Utile
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
copyrightx 59 Messages postés lundi 8 novembre 2004Date d'inscription 14 janvier 2016 Dernière intervention - 29 mars 2011 à 10:10
0
Utile
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
foliv57 423 Messages postés vendredi 17 novembre 2006Date d'inscription 15 juillet 2014 Dernière intervention - 29 mars 2011 à 13:23
0
Utile
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
copyrightx 59 Messages postés lundi 8 novembre 2004Date d'inscription 14 janvier 2016 Dernière intervention - 30 mars 2011 à 09:26
0
Utile
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.