La programmation en C# .NET 4.0 est ma dernière passion, et j'aimerais savoir comment ajouter des fonctionnalités au bouton standard Windows.Forms Exit (le X rouge dans le coin supérieur droit du formulaire).Ajouter des fonctionnalités à Windows.Forms bouton de sortie?
J'ai trouvé un moyen de désactiver le bouton, mais puisque je pense que cela compromet l'expérience de l'utilisateur, je voudrais plutôt brancher quelques fonctionnalités.
Comment désactiver le bouton de sortie:
#region items to disable quit-button
const int MF_BYPOSITION = 0x400;
[DllImport("User32")]
private static extern int RemoveMenu(IntPtr hMenu, int nPosition, int wFlags);
[DllImport("User32")]
private static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert);
[DllImport("User32")]
private static extern int GetMenuItemCount(IntPtr hWnd);
#endregion
...
private void DatabaseEditor_Load(object sender, EventArgs e)
{
this.graphTableAdapter.Fill(this.diagramDBDataSet.Graph);
this.intervalTableAdapter.Fill(this.diagramDBDataSet.Interval);
// Disable quit-button on load
IntPtr hMenu = GetSystemMenu(this.Handle, false);
int menuItemCount = GetMenuItemCount(hMenu);
RemoveMenu(hMenu, menuItemCount - 1, MF_BYPOSITION);
}
Mais comment diable puis-je attacher une méthode, avant la sortie de l'application avec la sortie bouton standard. Je voudrais XmlSerialize une liste avant de quitter le formulaire Windows.
Thanx Paul! Cela a fait l'affaire :) BR –
Pour l'enregistrement, l'événement est appelé 'FormClosing', donc lors de l'ajout de la méthode en utilisant l'inspecteur des propriétés, il appelle la méthode' Form1_FormClosing'. Je n'arrivais pas à comprendre pourquoi il n'y avait pas d'événement 'Closing' et je me suis rendu compte que c'était 'FormClosing'. – styfle