Как изменить цвет границы формы c #? - PullRequest
8 голосов
/ 18 сентября 2009

Я бы хотел изменить цвет рамки окна (граница с заголовком формы). Пример, который я нашел в codeplex , слишком сложный и запутанный. Может ли кто-нибудь помочь мне в чем-то более простом?

Ответы [ 4 ]

11 голосов
/ 18 сентября 2009

К сожалению, поскольку граница формы рисуется операционной системой, это является сложной задачей . Реального пути нет.

НЕ нажимайте ссылку ProjectDistributor на странице CodePlex ниже

Проект CodePlex для рисования пользовательских границ делает это очень просто. Просто создайте форму, используя SkinnedForm из этого проекта вместо стандартной формы, и она должна работать - вам действительно не нужно делать ничего другого в вашем коде.

5 голосов
/ 05 августа 2017

Просто выполните следующие действия:

  • Установите FormBorderStyle на Нет
  • Накройте форму панелью и оставьте место для границы
  • Установите цвет, который вы хотите для границы в качестве цвета спины формы

Теперь панель служит основным контейнером, и вы можете изменить фон, как хотите, а форма служит границей!

Окончательный результат:

enter image description here

0 голосов
/ 06 апреля 2017

Ниже «ForeColor» должна быть настройка под названием «FormBorderStyle». Вы можете отредактировать ее с помощью VisualStudio 2015. Или вы можете перейти в путь панели управления, что-то вроде этого «Панель управления \ Оформление и персонализация \ Персонализация» Это будет вторая настройка, называемая «Цвет», которая может изменить цвет на нужный вам, он изменит цвет границы во всех программах на цвет, который вы установили.

0 голосов
/ 13 апреля 2012
if (colorDialog1.ShowDialog() == DialogResult.OK)
{
    string color = Convert.ToString(colorDialog1.Color);
    MessageBox.Show("You change the color " + color);
    this.BackColor = colorDialog1.Color; // BackColor is only accessible for this form
}
...