.NET 4.x Заместо цвета-картинка - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Есть код
private Color backgroundcolor = Color.Coral;
И есть вопрос:как правильно прописать чтобы заместо "Color.Coral" брало картинку?
UPD Вот весь код с прогресс бара"не стандартного"
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Drawing;
using System.Drawing.Drawing2D;
 
namespace Potrebenko
{
    [Description("Продвинутый индикатор процесса")]
    public sealed class PotrebenkoProgressBar : Control
    {
        #region privates
        private int currentvalue = 0, minimum = 0, maximum = 100, step = 10;
 
        private Color bordercolor = Color.Black;
        private Color backgroundcolor = Color.Coral;
        private Color barcolor1 = Color.CadetBlue;
 
        #endregion
 
        #region publics
        [Description("Текущее значение")]
        [Category("Behavior")]
        public int Value
        {
            get { return currentvalue; }
            set
            {
                currentvalue = value;
                if (currentvalue > maximum)
                    currentvalue = maximum;
                if (currentvalue < minimum)
                    currentvalue = minimum;
                this.Invalidate();
                this.Update();
            }
        }
 
        [Description("Минимальное значение")]
        [Category("Behavior")]
        public int Minimum
        {
            get { return minimum; }
            set
            {
                minimum = value;
 
                if (minimum > maximum)
                    maximum = minimum;
                if (minimum > currentvalue)
                    currentvalue = minimum;
                this.Invalidate();
                this.Update();
            }
        }
 
        [Description("Максимальное значение")]
        [Category("Behavior")]
        public int Maximum
        {
            get { return maximum; }
            set
            {
                maximum = value;
                if (maximum < minimum)
                    minimum = maximum;
                if (maximum < currentvalue)
                    currentvalue = maximum;
                this.Invalidate();
                this.Update();
            }
        }
 
        [Description("Шаг")]
        [Category("Behavior")]
        public int Step
        {
            get { return step; }
            set { step = value; }
        }
 
        [Description("Цвет обрамления")]
        [Category("Colors")]
        public Color BorderСolor
        {
            get { return bordercolor; }
            set
            {
                bordercolor = value;
                this.Invalidate();
                this.Update();
            }
        }
 
        [Description("Цвет заднего фона")]
        [Category("Colors")]
        public Color BackgroundСolor
        {
            get { return backgroundcolor; }
            set
            {
                backgroundcolor = value;
                this.Invalidate();
                this.Update();
            }
        }
 
        [Description("Первичный цвет бегунка")]
        [Category("Colors")]
        public Color BarColor1
        {
            get { return barcolor1; }
            set
            {
                barcolor1 = value;
                this.Invalidate();
                this.Update();
            }
        }
        #endregion
 
        public PotrebenkoProgressBar()
        {
            base.Size = new Size(150, 15);
            SetStyle(ControlStyles.AllPaintingInWmPaint |
                ControlStyles.ResizeRedraw |
                ControlStyles.UserPaint |
                ControlStyles.DoubleBuffer,
                true
                );
        }
 
        protected override void OnPaint(PaintEventArgs e)
        {
            //Кисть, которой будем закрашивать
            SolidBrush bgBrush = new SolidBrush(backgroundcolor);
            //Закрашиваем всю область компонента
            e.Graphics.FillRectangle(bgBrush, this.ClientRectangle);
            bgBrush.Dispose(); //удаляем кисть
 
            //Проверяем условия. Если совпадают, то рисуем только бордюр и выходим из метода
            if (maximum == minimum || currentvalue == 0)
            {
                drawBorder(e.Graphics);
                return;
            }
            
            //Определяем размер прогресс бара 
            int fillWidth = (this.Width * currentvalue) / (maximum - minimum);
            
            //Если рисовать нечего, выходим
            if (fillWidth == 0)
            {
                drawBorder(e.Graphics);
                return;
            }
            
            //Создаем прямоугольную область для бара
            Rectangle mainProgressRect = new Rectangle(0, 0, fillWidth, this.Height);
            
            //Также и кисть
            SolidBrush brush = new SolidBrush(barcolor1);
            //Закрашиваем область
            e.Graphics.FillRectangle(brush, mainProgressRect);
            brush.Dispose();
            //В конце всего рисуем бордюр
            drawBorder(e.Graphics);
        }
 
        void drawBorder(Graphics g)
        {
            Rectangle borderRect = new Rectangle(0, 0,
                ClientRectangle.Width - 1, ClientRectangle.Height - 1);
            g.DrawRectangle(new Pen(bordercolor, 1), borderRect);
        }
 
        //Увеличение текущего значение на заданную величину
        public void Increment(int i)
        {
            currentvalue += i;
            if (currentvalue > maximum)
                currentvalue = maximum;
            if (currentvalue < minimum)
                currentvalue = minimum;
            Invalidate();
            Update();
        }
    }
}

Решение задачи: «.NET 4.x Заместо цвета-картинка»

textual
Листинг программы
Bitmap bm = new Bitmap("myJpg.jpg");
this.BackgroundImage = bm;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.929 из 5
Похожие ответы