Evenement QueryClose [Résolu]

fred65200 100 Messages postés lundi 21 février 2005Date d'inscription 18 février 2009 Dernière intervention - 11 juil. 2005 à 05:42 - Dernière réponse : fred65200 100 Messages postés lundi 21 février 2005Date d'inscription 18 février 2009 Dernière intervention
- 11 juil. 2005 à 08:32
Bonjour à tous,



Existe t il un evenement qui controle la croix de fermeture du form.

Du Style



private void Form1_QueryClose(object sender, System.ComponentModel.CancelEventArgs e)

{

e.Cancel = true;

}



merci
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 11 juil. 2005 à 07:49
3
Merci
J'avais mal lu la question en fait lol
Windows Forms - Disable the Close Button
Sur ce blog tu trouveras le code suivant :

using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace DisableCloseBtn
{
/// <summary>
/// This class was taken from the following web site:
///
/// http://addressof.com/blog/articles/232.aspx
///
/// Written by Cory Smith in VB. I translated it to C#
/// </summary>
public class CloseButton
{
#region Interop Code

private const int SC_CLOSE=0xF060;
private const int MF_BYCOMMAND=0x0;
private const int MF_GRAYED=0x1;
private const int MF_ENABLED=0x0;

[DllImport("user32.dll", SetLastError = true)]
private static extern int GetSystemMenu(IntPtr hWnd, int revert);

[DllImport("user32.dll", SetLastError = true)]
private static extern int EnableMenuItem(int menu, int ideEnableItem, int enable);

#endregion

public static void Disable(Form form)
{
IntPtr hWnd = form.Handle;
int SystemMenu = GetSystemMenu(hWnd,0);
int PreviousState = EnableMenuItem(SystemMenu, SC_CLOSE, MF_BYCOMMAND | MF_GRAYED);
if(PreviousState == -1)
throw new Exception("The close menu does not exist");
}
}
}

Cocoricoooooooo !!!!
coq
MVP Visual C#

Merci cs_coq 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 102 internautes ce mois-ci

Commenter la réponse de cs_coq
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 11 juil. 2005 à 07:40
0
Merci
Salut,

Form.Closing est déclenché avant la fermeture.
Form.Closed est déclenché après la fermeture.

Celui qui correspond à ton exemple est Closing.

Cocoricoooooooo !!!!
coq
MVP Visual C#
Commenter la réponse de cs_coq
fred65200 100 Messages postés lundi 21 février 2005Date d'inscription 18 février 2009 Dernière intervention - 11 juil. 2005 à 07:42
0
Merci
Merci coq,



mais je cherche uniquement le blocage de croix de fermeture.

le form closing empeche toute façon de fermer le Form.



Encore merci pour le SystemRestore.
Commenter la réponse de fred65200
fred65200 100 Messages postés lundi 21 février 2005Date d'inscription 18 février 2009 Dernière intervention - 11 juil. 2005 à 07:52
0
Merci
Je me doutais qu'il fallait passer par les Dll.

Mais là c'est du tout cuit.



Merci

Bonne journée
Commenter la réponse de fred65200
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 11 juil. 2005 à 07:55
0
Merci
Ohlala tout ce code dès le matin, je
Commenter la réponse de Lutinore
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 11 juil. 2005 à 07:56
0
Merci
( bug ) ... je rien du tout : )
Commenter la réponse de Lutinore
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 11 juil. 2005 à 08:08
0
Merci
lol

Cocoricoooooooo !!!!
coq
MVP Visual C#
Commenter la réponse de cs_coq
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 11 juil. 2005 à 08:09
0
Merci
Oui bha on se moque pas ! : )
Commenter la réponse de Lutinore
fred65200 100 Messages postés lundi 21 février 2005Date d'inscription 18 février 2009 Dernière intervention - 11 juil. 2005 à 08:32
0
Merci
On peut aussi utiliser



[DllImport("User32.dll")]

public static extern bool DeleteMenu(int hMenu, int uPosition, int uFlags);



bool PreviousState = DeleteMenu(SystemMenu, SC_CLOSE , MF_BYCOMMAND);
Commenter la réponse de fred65200

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.