IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Win Form en mode console


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 117
    Par défaut Win Form en mode console
    Bonjour, je développe une bibliothèque (dll) dont une de ces class s'occupe de créer une fenetre windows form.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Public Class Fenetre
     
        Private WithEvents Fen As New Form
        Private WithEvents Pic As New PictureBox
        Public Property Largeur As Integer = 500
        Public Property Hauteur As Integer = 300
        Public Property Couleur As Color = Color.Black
        Public Property Titre As String = ""
     
        ' ------------------------------------------------------------------------------------------
        ' Gestion de l'evement : Load.
        ' ------------------------------------------------------------------------------------------
        Public Sub Creer() Handles Fen.Load
            Fen.BackColor = Couleur
            Fen.FormBorderStyle = FormBorderStyle.FixedDialog
            Fen.MaximizeBox = False
            Fen.Width = Largeur
            Fen.Height = Hauteur
            Fen.StartPosition = FormStartPosition.CenterScreen
            Fen.Focus()
            Pic.Width = Largeur
            Pic.Height = Hauteur
        End Sub
    Je test en parallèle ma dll avec un projet en mode console (vue que ma dll créé une fenêtre bien précise je ne veut pas utiliser un projet windwos form)

    Donc j'ai réferencer ma dll et je créé la fenetre au démarrage :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Module Module1
     
        Sub Main()
     
            Dim fenetre As New Fenetre
     
        End Sub
     
    End Module
    La problème et de maintenir la fenêtre ouverte j'ai lu qu'il fallait invoquer la méthode .showDialog() comme expliqué ici http://social.msdn.microsoft.com/For...2-d3379b6fe272

    Mais cette méthode fonctionne pas si la form est ouverte depuis une dll.
    Si une personne peut m'aider merci d'avance.

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    essaye application.run(lefrm)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 117
    Par défaut
    J'ai mis un Application.Run(Fen) dans le handles load puis dans mon application console :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim fen As New Fenetre
    Console.ReadLine()
    La console attend avec le readline() mais la form se termine aussitôt.

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 117
    Par défaut
    J'ai complètement changé la façon de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
       Public Sub Creer()
            Dim Fen As New Form
            Fen.BackColor = Couleur
            Fen.FormBorderStyle = FormBorderStyle.FixedDialog
            Fen.MaximizeBox = False
            Fen.Width = Largeur
            Fen.Height = Hauteur
            Fen.StartPosition = FormStartPosition.CenterScreen
            Fen.Focus()
            Pic.Width = Largeur
            Pic.Height = Hauteur
            Application.Run(Fen)
        End Sub
    Au lieu de créer une propriété "Form" j'appel une nouvelle class "Fenere" puis la méthode créer car de toute façon je n'est pas besoin de gérer les évènements de ce form.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim fen As New Fenetre
    fen.Creer()
    Donc la console ne se ferme pas avec le Application.Run(Fen).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [vs2005] Win form et console
    Par Vash_vador dans le forum Windows Forms
    Réponses: 5
    Dernier message: 13/05/2008, 13h38
  2. [Win server 2003] Accès refusé au dossier Windows en mode console
    Par jumpinbob dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 07/02/2007, 21h28
  3. Mode console par défaut
    Par sekiryou dans le forum Administration système
    Réponses: 5
    Dernier message: 05/03/2004, 06h38
  4. Mode console et MFC ??
    Par G3G3 dans le forum MFC
    Réponses: 7
    Dernier message: 20/02/2004, 17h49
  5. Editeur en mode console
    Par logramme dans le forum C
    Réponses: 5
    Dernier message: 11/06/2002, 13h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo