[VB.NET] Rendre invisible FORM principal

Fermé
Bonjour,

J'aimerais rendre mon FORM principal invisible au lancement, j'ai essayer la propriété visible = false mais sa a l'air plus complexe. J'ai fait un teste, j'ai mis un bouton et dans se bouton j'ai mis au clique, visible = false et mon form devient invisible donc là je sais pas se qu'il faut faire.

Objectif : Rendre invisible mon FORM principale

merci de m'aider

6 réponses

  • Votes
  • Date
  • Date décroissante
  1. Slt la maniere de faire propre pour cacher la fenetre principale au lancement et de modifier le constructeur

    Il faut créer une classe derivé du ApplicationContext et ensuite faire une methode qui créer votre form avec la propriete form.visible = false a ce moment la dans le constructeur a la place de application.Run(new Form()) il suiffit de mettre Application.Run(new classeperso());

    Mes exemples sont en C# car je n'ai pas envie de les convertir en VB.net mais je ne pense pas que sa pose de grand probleme a ce que vous le convertisiez.
    class CacherFenetre : ApplicationContext
    {
      public CacherFenetre()
      {
        Form1 form1 = new Form1();
        form1.Visible = false;
      }
    
    
    
    
    Application.Run(new CacherFenetre());
    
    1. Je trouve pas mon module dans le démarrage de l'application . Aidez moi pas à pas Svp

      En tout cas merci de votre aide
      1. Bon on va faire plus simple dans quel interet souhaite tu cacher ta form principale car on peut peut etre arranger sa autrement
    2. Ya plus simple !

      Private Sub MaFenêtre_Activated(sender As Object, e As System.EventArgs) Handles Me.Activated
      Me.Visible = False
      End Sub
      1. Y'a pas encore plus simple ?
        Après je sais pas si c'est exactement ce que tu veux mais, il tes possible de rendre transparente ta fenêtre:
        Dans les propriété de ta Form y'a "TransparencyKey" si tu change la couleur de façon à que ce soit la même que ta Form alors elle deviendra invisible, et ensuite si tu as des chose dessus beh tu change le propriété "Enabled" vers False ...

        J'espère t'avoir était utile :)
        1. et oui est si tu veux pas les bordure tu change la Propriété "BorderStyle" en "None" comme sa Op, pas de fenêtre ... (même si d'une certaine façon elle est là ^^ )
      2. Non ya encore bien plus simple car je me suis trompé...

        Public Class Form1
         
            Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
                Form1_Activated(sender, e)
            End Sub
         
            Private Sub Form1_Activated(sender As Object, e As System.EventArgs) Handles Me.Activated
                Me.Visible = False
            End Sub
         
        End Class


        Et le plus simple c'est carrément de mètre sa forme invisible dans les propriétés et elle se mettra automatiquement à visible = False

        Pour la rendre visible tu fais Visible = True
        Et voilà !
        1. Je n'ai AUCUNE connaissance en C ++ / C / C# donc je comprend rien qu'un peu le code, je ne sais nullement comment l'appliquer, pouvez-vous m'aider à le convertir en VB ? merci de votre aide
          1. Alors de tête sa doit faire

            Class CacherFenetre
            	Inherits ApplicationContext
            	Public Sub CacherFenetre()
            		Dim form1 As New Form1()
            		form1.Visible = False
            	End Sub
            End Class
            
          2. Je teste et je te dit ça
          3. ça ne marche pas j'ai essayer et sa me met une erreur sur : Inherits ApplicationContext

            l'erreur : Erreur 1 La classe de base 'System.Windows.Forms.ApplicationContext' spécifiée pour la classe 'Form1' ne peut pas être différente de la classe de base 'System.Windows.Forms.Form' de l'un de ses autres types partiels. C:\Documents and Settings\thomas\Local Settings\Application Data\Temporary Projects\Form\Form1.vb 3 14
            Form
          4. je viens de réesayer est tout fonctionne chez moi

            Alors tu fais un nouveau fichier de type classe et tu insere le code que je t'ai donné

            ensuite tu crée un module avec une Sub Main
            Module Demarrage
            public sub main()
            application.run(new cacherfenetre())
            end sub
            End Module
            


            et ensuite tu modifie dans les proprieté du projet l'objet de demarrage en le metant sur ton module