Winform, пользовательская строка заголовка с изображением и текстом, но без кнопок управления? - PullRequest
2 голосов
/ 16 августа 2011

В приложении winform, как добавить изображение и текст заголовка в «Строку заголовка» и удалить все контрольные кнопки (мин., Макс. И закрытие).Я мог показать изображение и текст заголовка, но не смог удалить все кнопки, включая кнопку «Закрыть».Есть ли обходной путь для этого?

Ответы [ 3 ]

1 голос
/ 16 августа 2011

Вы можете установить свойство ControlBox формы в False, тогда вы можете легко удалить все кнопки (кнопки min, max, Close), и даже вы можете установить для него заголовок и изображение, где при использовании FormBorderStyle он будет полностью удален строка заголовка, которая не поможет вашей проблеме.

Так что я предлагаю вам установить
ControlBox=false формы

0 голосов
/ 16 августа 2011

К сожалению, для этого вам нужно вызвать функцию Windows API с помощью PInvoke.

  // Changes an attribute of the specified window.          
  [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)]
  public static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong);
  // Retrieves information about the specified window.        
  [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)]
  public static extern int GetWindowLong(IntPtr hWnd, int nIndex);
  public const int GWL_STYLE = (-16);
  public const int WS_SYSMENU = 0x00080000;
  public const int WS_MAXIMIZEBOX = 0x00010000;


  public static void SetDialogStyle(Form window)
    {
        // We disable the control box functionality for the window
        // i.e. remove the minimize, maximize and close button as 
        // well as the system menu.

        int style = GetWindowLong(window.Handle, GWL_STYLE);
        style &= ~(WS_SYSMENU | WS_MAXIMIZEBOX);
        SetWindowLong(window.Handle, GWL_STYLE, style);
    }

Вы можете вызвать эту функцию в событии OnLoad, передав this в качестве аргумента функции.

0 голосов
/ 16 августа 2011

Установка FormBorderStyle в None в FormDesigner может помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...