c#winform禁用关闭按钮的方法

一、设置ControlBox为false
二、调用API实现了禁用关闭按钮
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 winFormDemo     
{     
public partial class Form2 : Form     
{     
[DllImport("USER32.DLL")]     
public static extern int GetSystemMenu(int hwnd, int bRevert);     
[DllImport("USER32.DLL")]     
public static extern int RemoveMenu(int hMenu, int nPosition, int wFlags);     
   
const int MF_REMOVE = 0x1000;     
   
const int SC_RESTORE = 0xF120; //还原     
const int SC_MOVE = 0xF010; //移动     
const int SC_SIZE = 0xF000; //大小     
const int SC_MINIMIZE = 0xF020; //最小化     
const int SC_MAXIMIZE = 0xF030; //最大化     
const int SC_CLOSE = 0xF060; //关闭     
   
public Form2()     
{     
InitializeComponent();     
}     
private void Form2_Load(object sender, EventArgs e)     
{     
int hMenu = GetSystemMenu(this.Handle.ToInt32(), 0);     
RemoveMenu(hMenu, SC_CLOSE, MF_REMOVE);     
}     
   
}     
}   

 三、设置构造参数来进行禁用

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace winFormDemo     
{
    public partial class NoCloseForm : FormBase
   {
        protected override CreateParams CreateParams
        {
            get
            {
                int CS_NOCLOSE = 0x200;
                CreateParams parameters = base.CreateParams;
                parameters.ClassStyle = CS_NOCLOSE;
               return parameters;
            }

你可能感兴趣的:(c#)