C#关闭按钮如何恢复

来源:百度知道 编辑:UC知道 时间:2024/07/05 14:30:02
网上有很多方法,可以使窗体右上角的关闭按钮失效。但是我想把在让它失效之后,再用代码使其恢复关闭功能要怎么做。我用的使其失效的代码如下:
onst int MF_REMOVE = 0x1000;
const int SC_CLOSE = 0xF060; //关闭
[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);
int hMenu;
hMenu = GetSystemMenu(this.Handle.ToInt32(), 0);
RemoveMenu(hMenu, SC_CLOSE, MF_REMOVE);

应该还是在这个 API 上找问题~~ 既然它可以使其失效,那么也应该可以将其生效。如果不行,可以查找函数名与其相似且相反的函数(如原函数名中包括 RemoveXXXXX ,你可以试着找 AddXXXX)

另外,如果不是在进行特别特殊的操作,建议最好还是不要将“关闭”按钮失效。一个更好的方法是,当用户点击“关闭”按钮时,会弹出一个对话框,询问“是否真的要结束本次操作”等。

希望以上能帮到你。

让关闭按钮失效...人家还会以为你程序有BUG呢. 为什么不在窗体关闭前判断取消,然后最小化呢?