Как сделать крестик неактивным в заголовке формы - C#
Формулировка задачи:
как можно выключить крестик на форме ?.Вот именно выключить а не свойством controlBox и не событием formClosing(и рисовать в picturebox тоже не предлагать).
Я пробовал искать на эту тему и нашёл только код на c++ http://netcode.ru/cpp/?artID=26 Вообщем помогите мне перевести код или же напишите сами
Решение задачи: «Как сделать крестик неактивным в заголовке формы»
textual
Листинг программы
using System.Runtime.InteropServices; // наверх, к прочим using
...
// это все внутри класса формы
// константы WinAPI
// значения их найдены в гугле
const int SC_CLOSE = 0xF060;
const int MF_GRAYED = 0x1;
const long MF_BYCOMMAND = 0x00000000L;
// импорт функций WinAPI
[DllImport("user32.dll")]
static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert);
[DllImport("user32.dll")]
static extern bool EnableMenuItem(IntPtr hMenu, uint uIDEnableItem,
uint uEnable);
...
// это в коде
IntPtr hMenu = GetSystemMenu(this.Handle, false);
EnableMenuItem(hMenu, SC_CLOSE, (uint)MF_BYCOMMAND | MF_GRAYED);