Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Сделать фон формы прозрачным

Автор вопроса: The MaskОтветов: 4

Как сделать фон прозрачным в форме? Возможно ли это в С#?

Заранее спасибо!

backgroundwinforms

Ответы

Ответ 1 · рейтинг 37 · Ry-♦

Вы можете установить BackColor вашей формы на необычный цвет (скажем, Color.Magenta), а затем установить свойство TransparencyKey формы на тот же цвет. Затем установите FormBorderStyle на None.

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

Это действительно зависит от того, чего вы хотите достичь. Что это такое? Если вы хотите сделать что-то вроде виджета, есть гораздо лучшие способы. Если вам нужны закругленные углы или собственный фон, есть гораздо лучшие способы. Пожалуйста, предоставьте дополнительную информацию, если TransparencyKey не совсем то, что вы имели в виду.

Ответ 2 · рейтинг 16 · Brian Graham

Поместите в конструктор формы следующее:

public Form1()
{
    this.TransparencyKey = Color.Turquoise;
    this.BackColor = Color.Turquoise;
}

Примечание. Этот метод не позволяет вам щелкать по форме.

Ответ 3 · рейтинг 4 · Mitch Wheat

Обновление:

Как сделать свой элемент управления прозрачным фоном

Устарело: Как: Создайте прозрачные формы Windows:

Примечание. Поскольку прозрачные формы поддерживаются только в Windows 2000 или более поздних версиях, Windows Forms будут полностью непрозрачными при работе в более старых операционных системах, таких как Windows 98, независимо от значения, установленного для свойства Непрозрачность.

Ответ 4 · рейтинг 1 · Alexander Cosman

Простое решение для получения прозрачного фона в winform - перезаписать метод OnPaintBackground следующим образом:

protected override void OnPaintBackground(PaintEventArgs e)
{
//empty implementation
}

(Обратите внимание, что base.OnpaintBackground(e) удален из функции)

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы