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

Windows Forms Discussion :

[C#]Empecher la fermeture d'un formulaire


Sujet :

Windows Forms

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 8
    Points : 6
    Points
    6
    Par défaut [C#]Empecher la fermeture d'un formulaire
    Bonjour,

    Je souhaite empecher l'utilisateur de quitter mon formulaire car je dois faire un test avant qu'il ne quitte.


    C'est pourquoi je voudrais mettre un bouton "Quitter" qui me permettrait de faire mon test avant de quitter.

    Pour cela, il me faudrait supprimer la croix en haut a droite du formulaire qui permet a l'utilisateur de quitter.

    Merci

  2. #2
    Membre éclairé
    Avatar de m-mas
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2003
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2003
    Messages : 576
    Points : 719
    Points
    719
    Par défaut
    propriété ControlBox de ton formulaire à False !
    mon blog http://www.3click-solutions.com/actualites/

    MCP VB.NET (70-305) - (70-306) - (70-310)
    Développeur PHP / Wordpress

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2002
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Morsi
    propriété ControlBox de ton formulaire à False !
    Je crois que dans ce cas l'utilisateur peut toujors appuyer sur Alt-F4 pour fermer la fenêtre.
    La solution est dans l'evenement FormClosing du Form, tu reçois un paramètre e de type FormClosingEventArgs, il suffit de positionner la propriété Cancel à true
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
      e.Cancel = true;
    }

  4. #4
    Membre éprouvé
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276
    Points : 1 281
    Points
    1 281
    Par défaut
    si tu mets :

    le bouton quitter dans lequel on aura un "Me.close()" ne marchera pas non plus.

    tu devrais faire ton test dans le bouton quitter et également dans l'évenement closing de ta form. Juste après ton test, si tu vois que la fenetre de doit pas se fermer, alors là tu fais un e.cancel = true.

    Ou si tu veux pas faire ca et que la solution de Morsi ne te convient pas tu peux toujours "griser" la croix de ton formulaire grace à ce code :

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    'Dans une : 
    Class DisableCroix 
     
        Public Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Integer 
        Public Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Integer, ByVal nPosition As Integer, ByVal wFlags As Integer) As Integer 
        Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Integer, ByVal bRevert As Boolean) As Integer 
        Public Const MF_BYPOSITION = &H400& 
        Public Const MF_REMOVE = &H1000& 
     
        Public Sub New(ByVal hwnd As Integer, ByVal sText As String, ByVal IDMenu As Short) 
            Dim hSysMenu As Integer 
            Dim nCount As Integer 
            '*/ Pour désactiver la croix system----------- 
            hSysMenu = GetSystemMenu(hwnd, False) 
            nCount = GetMenuItemCount(hSysMenu) 
            RemoveMenu(hSysMenu, nCount - 1, MF_REMOVE Or MF_BYPOSITION) 
            RemoveMenu(hSysMenu, nCount - 2, MF_REMOVE Or MF_BYPOSITION) 
        End Sub 
    end Class 
    '---------------------------------------- 
     
    Dans la form 
     
        Private DisCroix As DisableCroix 
     
        Protected Overrides Sub DefWndProc(ByRef m As System.Windows.Forms.Message) 
            MyBase.DefWndProc(m) 
        End Sub 
     
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
            DisCroix = New DisableCroix(Me.Handle.ToInt32, "", 0) 
        End Sub
    j'suis vert !

Discussions similaires

  1. Empecher la fermeture d'un formulaire si champ vide
    Par patito1975 dans le forum Access
    Réponses: 12
    Dernier message: 11/09/2014, 10h44
  2. [Débutant] Comment empecher fermeture d'un formulaire
    Par java250r dans le forum VB.NET
    Réponses: 2
    Dernier message: 17/03/2012, 15h24
  3. [AC-2003] Empecher la fermeture d'un formulaire
    Par gwent dans le forum VBA Access
    Réponses: 0
    Dernier message: 07/06/2010, 22h22
  4. [C#] Empecher la fermeture d'un formulaire
    Par seito dans le forum Windows Forms
    Réponses: 7
    Dernier message: 10/04/2006, 16h33
  5. Réponses: 11
    Dernier message: 14/11/2005, 14h32

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