В мире » Как скрыть кнопку закрытия окна в C Windows Forms
Новости
Лента свежих новостей

Как скрыть кнопку закрытия окна в C Windows Forms


  • 18-07-2025, 20:20

Используйте отключение системы меню окна

Для скрытия кнопки закрытия на форме Windows Forms необходимо отключить соответствующую возможность через изменение стиля окна. Это делается путем переопределения свойств CreateParams и удаления флага, отвечающего за кнопку закрытия.

Пример кода для этого подхода


protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
// Удаляем стиль CP_CLOSE тем самым отключая кнопку закрытия
cp.Style &= ~0x00100000; // WS_SYSMENU
return cp;
}
}

Используйте выделение окна с помощью WinAPI

Можно скрывать кнопку закрытия через вызов функций Windows API, например, используя класс user32.dll. Для этого понадобится получить дескриптор окна и изменить его системный меню.

Пример кода с использованием WinAPI


using System.Runtime.InteropServices;
[DllImport("user32.dll")]
private static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert);
[DllImport("user32.dll")]
private static extern bool RemoveMenu(IntPtr hMenu, uint uPosition, uint uFlags);
private const uint MF_BYCOMMAND = 0x00000000;
private const uint SC_CLOSE = 0xF060;
private void HideCloseButton()
{
IntPtr hMenu = GetSystemMenu(this.Handle, false);
RemoveMenu(hMenu, SC_CLOSE, MF_BYCOMMAND);
}

Добавление вызова при загрузке формы

Обеспечьте вызов метода, скрывающего кнопку, в обработчике события загрузки формы:


private void Form1_Load(object sender, EventArgs e)
{
HideCloseButton();
}

Обратите внимание

  • Удаление кнопки закрытия не блокирует закрытие формы, его можно по-прежнему выполнить через другие способы (например, через вызов метода Close).
  • Изменение системных меню влияет только на кнопку закрытия, остальная часть меню со стандартными функциями останется активной.
  • Используйте этот код аккуратно, чтобы избежать нежелательных эффектов, связанных с пользовательским интерфейсом.


Поделись с друзьями:
Нравится
Похожие публикации
Как устранить кнопку закрытия окна в C без ее отключения Как устранить кнопку закрытия окна в C без ее отключения
Обзор лучших бюджетных игровых компьютеров Обзор лучших бюджетных игровых компьютеров
Настройка бота кай пошаговая инструкция для начинающих Настройка бота кай пошаговая инструкция для начинающих
Настройка API Janitor AI пошаговая инструкция Настройка API Janitor AI пошаговая инструкция
Как запретить изменять размер окна в Tkinter Как запретить изменять размер окна в Tkinter


Новый Комментарий:
Ваше Имя:
Ваш E-Mail:

Введите два слова, показанных на изображении: