2015-06-12 3 views
0

Нужно быстрое предложение для стилизации WinForm. Я делал это с закругленными углами, даже когда менялся размер. Теперь попробуйте добавить кнопку закрытия с изображением (ControlBox = false), перекрывая или обрезая верхний правый угол. Это то, что я мог бы закончить.Нужно накладывать кнопку в круглом углу Winform

My Attempt

Но я хочу, чтобы сделать его более, как в этом примере изображения.

Example

Как я могу добиться этого в WinForm.

+0

Используйте WPF. winforms ничего не поддерживает. –

ответ

1

Вот трюк: ваше окно не только конец с белой частью. Это простирается немного дальше. Кнопка закрытия находится под «дополнительной» частью. На других сторонах, где окно, похоже, не существует, действительно прозрачно ... или в случае изображения, полупрозрачное.
Эффект свечения обеспечивается окном. Установите свойство TransparencyKey окна в Color.Magenta (его соглашение как Magenta - это наименее вероятный цвет, который будет использоваться в окне). Затем установите фоновое изображение на белый фон с небольшим количеством пурпурного цвета по краям. Магнет будет прозрачным при установке в качестве фонового изображения.
Скачайте с TransparencyKey, и вы поймете, что я имею в виду

1

себя Winforms не может обеспечить это для вас без внешнего манипулирования окон,

, потому что она по-прежнему использует win32 окно классов в фоновом режиме.

Если вы хотите диапозитивные в окнах: см такие статьи, как:

Cool, Semi-transparent and Shaped Dialogs with Standard Controls

и метод в Win32, чтобы сделать это: SetLayeredWindowAttributes