Отключение опции размера из системного меню в приложении C#

У меня есть aC# windows base application. Теперь я хочу, чтобы в системном меню опция размера была отключена.

Для добавления опции в системное меню я использую user32.dll. Я использую форму Windows.

введите описание изображения здесь

2 ответа

Если у вас есть диалоговое окно (вы не указали это) ...

... и если вы используете Winforms (вы также не указали это) ...

затем вы можете отключить возможность изменения размера, указав фиксированный тип границы; и y7 вы можете отключить возможность минимизации или максимизации, установив для соответствующих свойств формы значение "false".

Например:

form1.FormBorderStyle = FormBorderStyle.FixedDialog;
form1.MaximizeBox = false;
form1.MinimizeBox = false;

В противном случае, пожалуйста, укажите, что вы делаете и как вы пытаетесь это сделать. Пример кода всегда полезен:)

Теперь я нашел решение,

 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);
Другие вопросы по тегам