кнопка свертывания формы winform с стилем sizabletoolwindow - PullRequest
4 голосов
/ 31 марта 2010

Любые советы о том, как имитировать кнопку и поведение сворачивания

ОБНОВЛЕНИЕ - кнопка минимизации должна быть на панели заголовков, так как экранная недвижимость @ премиум

Ответы [ 4 ]

6 голосов
/ 05 мая 2010

Вероятно, лучшее, что вы собираетесь сделать, это следить за тем, что сделали некоторые другие, и настраивать его по мере необходимости. Этот вопрос задавался ранее, и здесь есть несколько хороших отправных точек . Основной процесс заключается в том, что вам нужно переопределить WndProc, чтобы перехватить сообщение, когда строка заголовка нарисована, перемещена и т. Д. Затем вы можете ввести свой собственный метод рисования. Реальная проблема, с которой вы столкнетесь, это весь код, который вам нужно будет написать, чтобы ваша пользовательская кнопка соответствовала текущей теме Windows. В конце концов, вам действительно лучше переосмыслить дизайн формы, чтобы включить функциональность в другом месте.

0 голосов
/ 11 мая 2010

Я предлагаю вам путь, описанный BigJason, и решить эту проблему с помощью рисунка с помощью controlrenderer, который бы нарисовал правильную кнопку окна.

public static void DrawCaptionButton (графическая графика, int x, int y, int width, int height, кнопка CaptionButton, состояние ButtonState); Объявление типа: System.Windows.Forms.ControlPaint Сборка: System.Windows.Forms, версия = 2.0.0.0

0 голосов
/ 31 марта 2010

Я не думаю, что вы можете, и я не думаю, что вы хотите. Windows, установленная на SizableToolWindow или FixedToolWindow, не отображается на панели задач, поэтому, как только вы свернете ее, пользователь не сможет восстановить ее. Вот почему в окне инструмента нет кнопки минимизации.

То, что вы, вероятно, хотите здесь сделать, - это использовать FixedDialog окно с его свойством MaximizeBox, установленным на false. Эта форма может быть свернута и восстановлена, но не развернута и не изменена каким-либо образом (а также без значка, если это имеет значение).

0 голосов
/ 31 марта 2010

Из вашего окна сделайте кнопку с кодом:

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