.NET 4.x Заместо цвета-картинка - C#
Формулировка задачи:
Здравствуйте.
Есть код
И есть вопрос:как правильно прописать чтобы заместо "Color.Coral" брало картинку?
private Color backgroundcolor = 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;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д