Как поменять цвет фона в windows forms

В данной статье мы разберем несколько вариантов изменения цвета элементов Windows Forms на примере фона формы Form1 и прочих компонентов.

Способ №1. Изменение цвета в свойствах элемента.

Для многих это самый легкий способ изменения цветовой палитры элементов, так как не надо писать код, всё визуализировано и интуитивно понятно.

Для этого надо выбрать элемент формы (или саму форму) и в «Свойствах» найти вкладку «Внешний вид». Нас интересует строка BackColor:

   

Здесь имеется большое количество цветовых схем и их визуальных представлений.

Выберем для примера какой-либо из цветов, чтобы изменить фон формы:

Итог такой:

Легко, незамысловато, понятно.

Следующие способы будут производиться в коде.

Способ №2. Изменение цвета, используя структуру Color.

Это самый простой способ среди кодовых вариаций.

«На пальцах» это выглядит так:

Названиеэлементаформы.BackColor = Color.Название_цвета;

Если мы захотим закрасить фон формы в зеленый цвет, то строка кода будет выглядеть вот так:

public Form1()

        {

            InitializeComponent();

            this.BackColor = Color.Green;          

        }

При запуске форма будет выглядеть так:

Если понадобится изменить цвет, например, кнопки Button на тёмно-бордовый, код будет таким:

button1.BackColor = Color.Maroon;

Данный способ прост тем, что требуется лишь написать название цвета, которых также большое количество.

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

Способ №3. Изменение цвета, используя метод Color.Argb.

Этот и следующий методы позволят генерировать нужный цвет, используя значения цветового канала RGB.

RGB — это цветовая модель, которая синтезирует цвета, используя смешивание трёх основных цветов (Красного — Red, Зеленого — Green, Синего- Blue) с чёрным, вследствие чего получаются новые цвета и оттенки. Зависит получаемый цвет от  интенсивности этих трёх основных цветов. Если смешать Красный, Зеленый и Синий в максимальной насыщенности, получится белый цвет. Если не смешивать их, то остаётся чёрный. 

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

Интенсивность в числовой форме для удобства применения обозначается от 0 (минимальная интенсивность) до 255(максимальная интенсивность). Все три цвета можно «варьировать» по этой шкале.

Словесно это выглядит вот так:

Названиеэлементаформы.BackColor = Color.FromArgb(Насыщенность красного, Насыщенность зеленого, Насыщенность синего);

Чтобы закрасить фон программы в чёрный цвет, используя данный метод, надо написать вот такую строку:

public Form1()

        {

            InitializeComponent();

            this.BackColor = Color.FromArgb(0, 0, 0);    

        }

На выходе получим:

Можно и поэкспериментировать:

this.BackColor = Color.FromArgb(111, 121, 131);

Если нам понадобится, для примера, изменить фон Listbox’a на красный данных способом, то код у нас будет следующий:

listBox1.BackColor = Color.FromArgb(255, 0, 0);

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

Способ №4. Изменение цвета, используя метод ColorTranslator.FromHtml

Этот метод также основывается на модели RGB, но записывается она в шестнадцатеричном виде, а именно #RrGgBb. Первые две шестнадцатеричные цифры после решетки обозначают насыщенность Красного, вторые две — насыщенность Зеленого, последние — насыщенность Синего. Минимальная насыщенность здесь — 00, максимальная — FF(В переводе с шестнадцатеричной системы счисления в десятичную это число обозначает 255). Остальной принцип смешивания цветов такой же.

Данный метод создан для языка веб-разметки HTML, но пользуются им повсеместно.

Принцип кода такой:

Названиеэлементаформы.BackColor = ColorTranslator.FromHtml(«#КрЗлГб»);

Для изменения бэкграунда формы в белый код такой:

public Form1()

        {

            InitializeComponent();

            this.BackColor=ColorTranslator.FromHtml(«#FFFFFF»);  

        }

Если понадобится изменить данным способом фон Label’a в коричневый:

label1.BackColor = ColorTranslator.FromHtml(«#A52A2A»);

Мы рассмотрели 4 основных способа изменения цвета фона элементов в Windows Forms. Все они не сложные, разобраться можно в каждом. Каким из них пользоваться — решать только Вам.
Спасибо за просмотр!

Основные свойства форм

Последнее обновление: 31.10.2015

С помощью специального окна Properties (Свойства) справа Visual Studio предоставляет нам удобный интерфейс для управления свойствами элемента:

Большинство этих свойств оказывает влияние на визуальное отображение формы. Пробежимся по основным свойствам:

  • Name: устанавливает имя формы — точнее имя класса, который наследуется от класса Form

  • BackColor: указывает на фоновый цвет формы. Щелкнув на это свойство, мы сможем выбрать тот цвет, который нам подходит
    из списка предложенных цветов или цветовой палитры

  • BackgroundImage: указывает на фоновое изображение формы

  • BackgroundImageLayout: определяет, как изображение, заданное в свойстве BackgroundImage, будет располагаться на форме.

  • ControlBox: указывает, отображается ли меню формы. В данном случае под меню понимается меню самого верхнего уровня, где
    находятся иконка приложения, заголовок формы, а также кнопки минимизации формы и крестик. Если данное свойство имеет значение false, то мы не увидим
    ни иконку, ни крестика, с помощью которого обычно закрывается форма

  • Cursor: определяет тип курсора, который используется на форме

  • Enabled: если данное свойство имеет значение false, то она не сможет получать ввод от пользователя, то есть мы не сможем
    нажать на кнопки, ввести текст в текстовые поля и т.д.

  • Font: задает шрифт для всей формы и всех помещенных на нее элементов управления. Однако, задав у элементов формы свой шрифт,
    мы можем тем самым переопределить его

  • ForeColor: цвет шрифта на форме

  • FormBorderStyle: указывает, как будет отображаться граница формы и строка заголовка. Устанавливая данное свойство в None
    можно создавать внешний вид приложения произвольной формы

  • HelpButton: указывает, отображается ли кнопка справки формы

  • Icon: задает иконку формы

  • Location: определяет положение по отношению к верхнему левому углу экрана, если для свойства StartPosition
    установлено значение Manual

  • MaximizeBox: указывает, будет ли доступна кнопка максимизации окна в заголовке формы

  • MinimizeBox: указывает, будет ли доступна кнопка минимизации окна

  • MaximumSize: задает максимальный размер формы

  • MinimumSize: задает минимальный размер формы

  • Opacity: задает прозрачность формы

  • Size: определяет начальный размер формы

  • StartPosition: указывает на начальную позицию, с которой форма появляется на экране

  • Text: определяет заголовок формы

  • TopMost: если данное свойство имеет значение true, то форма всегда будет находиться поверх других окон

  • Visible: видима ли форма, если мы хотим скрыть форму от пользователя, то можем задать данному свойству значение
    false

  • WindowState: указывает, в каком состоянии форма будет находиться при запуске: в нормальном, максимизированном или минимизированном

Программная настройка свойств

С помощью значений свойств в окне Свойства мы можем изменить по своему усмотрению внешний вид формы, но все то же самое мы можем сделать
динамически в коде. Перейдем к коду, для этого нажмем правой кнопкой мыши на форме и выберем в появившемся контекстном меню View Code (Просмотр кода). Перед нами открывается файл кода
Form1.cs. Изменим его следующим образом:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace HelloApp
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            Text = "Hello World!";
            this.BackColor = Color.Aquamarine;
            this.Width = 250;
            this.Height = 250;
        }
    }
}

В данном случае мы настроили несколько свойств отображения формы: заголовок, фоновый цвет, ширину и высоту.
При использовании конструктора формы надо учитывать, что весь остальной код должен идти после вызова метода InitializeComponent(), поэтому все установки свойств
здесь расположены после этого метода.

Установка размеров формы

Для установки размеров формы можно использовать такие свойства как Width/Height или Size. Width/Height принимают числовые значения, как в вышеприведенном
примере. При установке размеров через свойство Size, нам надо присвоить свойству объект типа Size:

this.Size = new Size(200,150);

Объект Size в свою очередь принимает в конструкторе числовые значения для установки ширины и высоты.

Начальное расположение формы

Начальное расположение формы устанавливается с помощью свойства StartPosition, которое может принимать одно из следующих значений:

  • Manual: Положение формы определяется свойством Location

  • CenterScreen: Положение формы в центре экрана

  • WindowsDefaultLocation: Позиция формы на экране задается системой Windows, а размер определяется свойством Size

  • WindowsDefaultBounds: Начальная позиция и размер формы на экране задается системой Windows

  • CenterParent: Положение формы устанавливается в центре родительского окна

Все эти значения содержатся в перечислении FormStartPosition, поэтому, чтобы, например, установить форму в центре экрана, нам надо прописать
так:

this.StartPosition = FormStartPosition.CenterScreen;

Фон и цвета формы

Чтобы установить цвет как фона формы, так и шрифта, нам надо использовать цветовое значение, хранящееся в структуре Color:

this.BackColor = Color.Aquamarine;
this.ForeColor = Color.Red;

Кроме того, мы можем в качестве фона задать изображение в свойстве BackgroundImage, выбрав его в окне свойств или в коде, указав путь к изображению:

this.BackgroundImage = Image.FromFile("C:\\Users\\Eugene\\Pictures\\3332.jpg");

Чтобы должным образом настроить нужное нам отображение фоновой картинки, надо использовать свойство BackgroundImageLayout,
которое может принимать одно из следующих значений:

  • None: Изображение помещается в верхнем левом углу формы и сохраняет свои первоначальные значения

  • Tile: Изображение располагается на форме в виде мозаики

  • Center: Изображение располагается по центру формы

  • Stretch: Изображение растягивается до размеров формы без сохранения пропорций

  • Zoom: Изображение растягивается до размеров формы с сохранением пропорций

Например, расположим форму по центру экрана:

 this.StartPosition = FormStartPosition.CenterScreen;

When developing C# applications using WinForms, customizing the background color of your forms and controls can significantly enhance the visual appeal and user experience. In this blog post, we will explore various methods to set background colors in C# WinForms applications with code examples.

Setting Form Background Color

To set the background color of a form in C#, you can use the BackColor property. Here’s a simple example that changes the background color of a form to light blue:

this.BackColor = Color.LightBlue;

You can choose from a wide range of predefined colors in the System.Drawing.Color class or define your custom colors using RGB values.

Setting Control Background Color

Similarly, you can set the background color of individual controls such as buttons, labels, or panels. For instance, to change the background color of a button:

button1.BackColor = Color.Orange;

By setting the background color of specific controls, you can create a visually appealing layout that aligns with your application’s design requirements.

Handling Dynamic Background Color Changes

In some cases, you may need to change the background color dynamically based on user interactions or specific conditions. You can achieve this by handling events or using conditional statements to update the background color accordingly.

Here’s an example that changes the form’s background color based on a button click event:

private void button_Click(object sender, EventArgs e)
{
    this.BackColor = Color.Green;
}

By incorporating dynamic background color changes, you can provide users with visual feedback and enhance the interactivity of your C# WinForms application.

Best Practices for Background Color Customization

When customizing background colors in C# WinForms applications, consider the following best practices:

  1. Maintain consistency in color schemes across forms and controls.
  2. Ensure sufficient contrast between text and background colors for readability.
  3. Use color psychology principles to evoke desired emotions or convey information effectively.

By following these best practices, you can create visually appealing and user-friendly interfaces that enhance the overall user experience of your C# applications.

In conclusion, setting background colors in C# WinForms applications is a simple yet effective way to customize the visual appearance of your user interface.

By leveraging the techniques and examples discussed in this blog post, you can enhance the aesthetics and usability of your C# applications with ease.

Last Updated :
17 Apr, 2023

A Button is an essential part of an application, or software, or webpage. It allows the user to interact with the application or software. In Windows form, you are allowed to set the background color of the button with the help of BackColor property. This property is provided by Button class and helps programmers to create more good looking buttons in their forms. You can use this property in two different methods: 1. Design-Time: It is the easiest method to set the background color of the button. Using the following steps you will set the background color of your button:

2. Run-Time: It is a little bit trickier than the above method. In this method, you can set the BackColor property of the Button programmatically with the help of given syntax:

public override System.Drawing.Color BackColor { get; set; }

Here, Color indicates the background color of the button. Following steps are used to set the BackColor property of the Button:

  • Step 1: Create a button using the Button() constructor is provided by the Button class.
// Creating Button using Button class
Button MyButton = new Button();
  • Step 2: After creating Button, set the BackColor property of the Button provided by the Button class.
// Set the BackColor property of the button
Mybutton.BackColor = Color.LightBlue;
  • Step 3: And last add this button control to form using Add() method.
// Add this Button to form
this.Controls.Add(Mybutton);
  • Example: 

CSharp

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace WindowsFormsApp8 {

public partial class Form1 : Form {

    public Form1()

    {

        InitializeComponent();

    }

    private void Form1_Load(object sender, EventArgs e)

    {

        Label l = new Label();

        l.AutoSize = true;

        l.Text = "Do you want to submit this form?";

        l.Location = new Point(222, 145);

        this.Controls.Add(l);

        Button Mybutton = new Button();

        Mybutton.Location = new Point(225, 198);

        Mybutton.Text = "Submit";

        Mybutton.AutoSize = true;

        Mybutton.BackColor = Color.LightBlue;

        this.Controls.Add(Mybutton);

        Button Mybutton1 = new Button();

        Mybutton1.Location = new Point(438, 198);

        Mybutton1.Text = "Cancel";

        Mybutton1.AutoSize = true;

        Mybutton1.BackColor = Color.LightPink;

        this.Controls.Add(Mybutton1);

    }

}

}

In this article we will see how we can change the background color of windows form dynamically.

Introduction

Just few days back one of my friends told me that he want to change color in windows form dynamically for his post graduation project.We had a nice brainstorming session and then found the solution by checking the control of windows.Let us see the solution.

Objective

  1. Understanding color dialog
  2. Basic Color Picker and Custom Color Picker
  3. How to apply them to background of the form.

Using the code

  1. Create a New Windows Project
  2. Now drag and drop 2 buttons name them as Choose Basic Color and Choose Custom Color respectively.
  3. Now go to the Toolbox -> Dialog Section -> Drag and Drop a Color Dialog box and change the name property to cddialog.

The Windows form should look something like this.

Now go to the code behind write the code on the following button click event.

// Code behind
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace ColorSetter
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnBasic_Click(object sender, EventArgs e)
        {
            // Opening the color dialog.The full open property is set to false and hence we can open basic color selection
            cddialog.FullOpen = false;
            if (cddialog.ShowDialog() != DialogResult.Cancel)
            {
                this.BackColor = cddialog.Color;
            }
        }

        private void btnCustom_Click(object sender, EventArgs e)
        {   // Opening the color dialog.The full open property is set to true and hence we can open custom color selection
            cddialog.FullOpen = true;
            if (cddialog.ShowDialog() != DialogResult.Cancel)
            {
                this.BackColor = cddialog.Color;
            }
        }
    }
}

Color Dialog :-

Color dialog allows to choose color from basic color setting and custom color setting.

How to Open Basic Color Setting ?

In order to open the basic color setting you have to set the full open property of the colordialog box to false.Once

you set it to false it will open the basic color picker.

How to Custom Basic Color Setting ?

In order to open the basic color setting you have to set the full open property of the colordialog box to true.Once

you set it to true it will open the custom color picker.

Output 1 : Setting Basic Color

Output 2 : Setting Custom Color

Conclusion

This code can be useful for setting colors on forms when needed.

Reference

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Кодек vp8 для windows
  • Невозможно создать файл отказано в доступе windows 10
  • Приложение для просмотра фото на компьютере windows 10
  • Windows скопировать символьную ссылку
  • Сделать флешку загрузочной для windows 10 ультра исо