alguien me puede ayudar con esto ??
aki esta el codigo de mi formulario, lease echenle una ojeada y diganme donde esta el errorx
Código:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.DisableCloseButton(this.Handle.ToInt32());
}
//Declaración de constantes necesarias (valores en hexadecimal)
private const int MF_BYPOSITION = 0x400;
private const int MF_REMOVE = 0x1000;
private const int MF_DISABLED = 0x2;
//Importación de procedimientos externos almacenados
//en la librería de Windows USER32.DLL
//Quitar elementos del menú de sistema
[DllImport("user32.Dll")]
public static extern IntPtr RemoveMenu(int hMenu, int nPosition, long wFlags);
//Obtener el menú de sistema
[DllImport("User32.Dll")]
public static extern IntPtr GetSystemMenu(int hWnd, bool bRevert);
//Obtener el número de elementos del menú de sistema
[DllImport("User32.Dll")]
public static extern IntPtr GetMenuItemCount(int hMenu);
//Redibujar la barra de título de la ventana
[DllImport("User32.Dll")]
public static extern IntPtr DrawMenuBar(int hwnd);
//Método que desactiva el botón X (cerrar)
public void DisableCloseButton(int hWnd)
{
IntPtr hMenu;
IntPtr menuItemCount;
//Obtener el manejador del menú de sistema del formulario
hMenu = GetSystemMenu(hWnd, false);
//Obtener la cuenta de los ítems del menú de sistema.
//Es el menú que aparece al pulsar sobre el icono a la izquierda
//de la Barra de título de la ventana, consta de los ítems: Restaurar, Mover,
//Tamaño,Minimizar, Maximizar, Separador, Cerrar
menuItemCount = GetMenuItemCount(hMenu.ToInt32());
//Quitar el ítem Close (Cerrar), que es el último de ese menú
RemoveMenu(hMenu.ToInt32(), menuItemCount.ToInt32() - 1, MF_DISABLED | MF_BYPOSITION);
//Quitar el ítem Separador, el penúltimo de ese menú, entre Maximizar y Cerrar
RemoveMenu(hMenu.ToInt32(), menuItemCount.ToInt32() - 2, MF_DISABLED | MF_BYPOSITION);
//Redibujar la barra de menú
DrawMenuBar(hWnd);
}
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData == Keys.Cancel)
{
DialogResult dialog = MessageBox.Show("Se perderán los datos que no han sido salvados.\n Desea Salir?", "EXIT", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (dialog == DialogResult.Yes)
Application.Exit();
}
}
}
}

