Как оставив кнопку minimize удалить кнопку maximize в Windows Form? - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Всем здравствуйте. Устанавливаю: FormBorderStyle = Fixed Single MaximizeBox = False MinimizeBox = True В этом случае MaximizeBox делается недоступным, но совсем не удаляется. Можно ли сделать так, чтобы FormBorderStyle остался Fixed Single, а слева от "крестика" находился только один значок MinimizeBox. Если установить и MaximizeBox = False и MinimizeBox = False, то "крестик" остаётся в одиночестве, а хотелось бы иметь возможность (стандартную) сворачивать окно на панель задач и разворачивать его в исходные размеры.

Решение задачи: «Как оставив кнопку minimize удалить кнопку maximize в Windows Form?»

textual
Листинг программы
  1.  Private Declare Function DeleteMenu Lib "user32" (ByVal hMenu As Integer, ByVal nPosition As Integer, ByVal wFlags As Integer) As Integer
  2.     Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Integer, ByVal bRevert As Integer) As Integer
  3.     Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Integer, ByVal bRevert As Boolean) As Integer
  4.  
  5.  
  6.     Private Const MF_BYPOSITION As Short = &H400
  7.  
  8.     Private Sub RemoveMenus(ByVal frm As Form1, ByVal remove_restore As Boolean, ByVal remove_move As Boolean, ByVal remove_size As Boolean, ByVal remove_minimize As Boolean, ByVal remove_maximize As Boolean, ByVal remove_seperator As Boolean, ByVal remove_close As Boolean)
  9.  
  10.  
  11.         Dim hMenu As Integer
  12.  
  13.  
  14.         hMenu = GetSystemMenu(Me.Handle.ToInt32, False)
  15.  
  16.         If remove_close Then DeleteMenu(hMenu, 6, MF_BYPOSITION)
  17.         If remove_seperator Then DeleteMenu(hMenu, 5, MF_BYPOSITION)
  18.         If remove_maximize Then DeleteMenu(hMenu, 4, MF_BYPOSITION)
  19.         If remove_minimize Then DeleteMenu(hMenu, 3, MF_BYPOSITION)
  20.         If remove_size Then DeleteMenu(hMenu, 2, MF_BYPOSITION)
  21.         If remove_move Then DeleteMenu(hMenu, 1, MF_BYPOSITION)
  22.         If remove_restore Then DeleteMenu(hMenu, 0, MF_BYPOSITION)
  23.  
  24.     End Sub
  25.  
  26.     Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  27.         RemoveMenus(Me, False, False, False, False, False, False, False)
  28.     End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы