我有一个c#windows base应用程序。现在我想要在系统菜单中禁用size选项。
要在系统菜单中添加选项,我使用的是user32.dll。 我正在使用Windows窗体。
答案 0 :(得分:3)
如果你有一个对话框(你没有指定)......
...如果您正在使用Winforms(您还没有指定)......
然后您可以通过指定固定边框类型来禁用调整大小的功能;并且您可以通过将相应的表单属性设置为“false”来禁用最小化或最大化的功能。
例如:
form1.FormBorderStyle = FormBorderStyle.FixedDialog;
form1.MaximizeBox = false;
form1.MinimizeBox = false;
否则,请说明您正在做什么,以及您是如何尝试的。示例代码总是有用的:)
答案 1 :(得分:1)
现在我找到了解决方案,
private const int WM_SYSCOMMAND = 0x112;
private const int MF_BYCOMMAND = 0x00000000;
private const int SC_SIZE = 0xF000 ;
[DllImport("user32.dll")]
private static extern int GetSystemMenu(int hwnd, int bRevert);
[DllImport("user32.dll")]
private static extern bool DeleteMenu(int hMenu, int uPosition, int uFlags);
int menu = GetSystemMenu(this.Handle.ToInt32(), 0);
DeleteMenu(menu, SC_SIZE, MF_BYCOMMAND);